Lộ trình
Cho đến gần đây, việc tinh chỉnh GPT-4o chỉ khả thi với văn bản. Giờ đây, với OpenAI ra mắt API tinh chỉnh mới nhất, chúng ta có thể tùy biến GPT-4o với hình ảnh. Điều này có nghĩa là ta có thể điều chỉnh năng lực của GPT-4o cho phù hợp với bài toán của mình.
Bản cập nhật này mở ra nhiều khả năng mới—hãy hình dung việc tinh chỉnh GPT-4o để tìm kiếm bằng hình ảnh chính xác hơn, phát hiện đối tượng, hoặc thậm chí phân tích ảnh y khoa.
Trong hướng dẫn này, tôi sẽ chỉ dẫn từng bước để tinh chỉnh GPT-4o với hình ảnh. Cụ thể, chúng ta sẽ tinh chỉnh mô hình để nhận diện chính xác các nhà thờ Chính thống giáo Georgia.
Giá tinh chỉnh thị giác cho GPT-4o
OpenAI đang cung cấp một triệu token miễn phí mỗi ngày đến hết ngày 31 tháng 10 để tinh chỉnh mô hình GPT-4o với hình ảnh, đây là cơ hội tốt để khám phá khả năng tinh chỉnh thị giác của GPT-4o.
Sau ngày 31 tháng 10, chi phí huấn luyện sẽ chuyển sang mô hình trả theo mức dùng, với phí 25 USD cho mỗi triệu token. Ngoài ra, chi phí suy luận sẽ được tính cho mỗi đầu vào (3,75 USD cho mỗi triệu token) và đầu ra (15 USD cho mỗi triệu token).
Lưu ý rằng thông tin này chính xác tính đến ngày 10 tháng 10, vì vậy hãy tham khảo trang giá của OpenAI để cập nhật chi tiết mới nhất về giá và khả năng sử dụng.
Thách thức thị giác của GPT-4o
Hãy đi thẳng vào phần thú vị. Chúng ta thực hiện tinh chỉnh thị giác cho GPT-4o như thế nào?
Hãy bắt đầu bằng việc đánh giá khả năng GPT-4o nhận diện nhà thờ Georgia này:

Khi được hỏi, mô hình cho rằng bức ảnh là Nhà thờ Thánh Nicholas ở Georgia, trong khi thực tế đó là nhà thờ Truyền Tin Thánh Kutaisi.
Rõ ràng còn nhiều dư địa để cải thiện, và đây là lúc tinh chỉnh phát huy tác dụng.
Chuẩn bị tệp JSONL
Trước tiên, chúng ta cần chuẩn bị bộ dữ liệu huấn luyện để bắt đầu tinh chỉnh. Theo tài liệu chính thức, chúng ta cần một tệp JSONL có cấu trúc như sau:
{
"messages": [
{
"role": "system",
"content": "You are an assistant that identifies Georgian orthodox churches."
},
{
"role": "user",
"content": "What is this church called?"
},
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/commons/e/e8/Khareba_church.jpg"
}
}
]
},
{
"role": "assistant",
"content": "Kutaisi Holy Annunciation temple"
}
]
}
//second example
{
"messages": [
{
"role": "system",
"content": "You are an assistant that identifies Georgian orthodox churches."
},
{
"role": "user",
"content": "What is this church called?"
},
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/en/a/af/Holy_Trinity_Cathedral_of_Tbilisi.jpg"
}
}
]
},
{
"role": "assistant",
"content": "Holy trinity cathedral"
}
]
}
//other examples below
Để dễ đọc và tiết kiệm không gian, tôi chỉ đưa vào một đoạn trích JSONL huấn luyện với hai mục; các ví dụ huấn luyện khác nên được thêm trên dòng riêng.
Lưu ý rằng chúng ta cần ít nhất 10 ví dụ để chạy tinh chỉnh. Mỗi dòng là một đối tượng JSON độc lập với một mảng messages.
Cũng lưu ý JSONL không hỗ trợ chú thích, nên tôi đã thêm chú thích sau // nhằm mục đích minh họa. Hãy chắc chắn xóa chúng trước khi huấn luyện.
Bạn có thể dùng trình soạn thảo văn bản như Notepad, hoặc nếu bạn làm việc với nhiều ví dụ, nên tự động hóa việc tạo tệp này bằng một script. Khi tệp JSONL đã sẵn sàng, bạn có thể bắt đầu quá trình tinh chỉnh.
Tinh chỉnh GPT-4o với hình ảnh
Giờ đây với tệp JSONL đã sẵn sàng, chúng ta cần đăng nhập vào bảng điều khiển OpenAI và chọn tùy chọn Create:

Trong menu hiện lên:
- Chọn mô hình
gpt-4o-2024-08-06. - Tải lên tệp JSONL huấn luyện.
- Bạn cũng có thể đặt các siêu tham số hoặc để mọi thứ ở chế độ tự động.
Sau khi tạo tác vụ, quá trình tinh chỉnh sẽ tự động bắt đầu:

Quy trình tinh chỉnh của tôi mất khoảng 20 phút (số epoch được đặt tự động là 9). Tùy theo kích thước dữ liệu và độ phức tạp của mô hình, thời gian có thể thay đổi, nhưng bạn sẽ nhận được thông báo khi hoàn tất.
Kiểm thử mô hình GPT-4o đã tinh chỉnh
Khi xong, bạn có thể truy cập tác tử đã tinh chỉnh qua API hoặc Playground.
Để đơn giản, tôi sẽ dùng Playground để kiểm thử. Hãy xem lần này mô hình có thể nhận diện chính xác nhà thờ hay không:

Như bạn thấy, tác tử đã tinh chỉnh (bên phải) đã nhận diện đúng nhà thờ, dù bức ảnh đó không nằm trong dữ liệu huấn luyện. Mô hình thường (bên trái) vẫn đoán sai!
Kết luận
Trong hướng dẫn này, chúng ta đã khám phá quy trình tinh chỉnh GPT-4o với hình ảnh.
Chúng ta bắt đầu bằng cách nêu bật những hạn chế ban đầu của mô hình trong việc nhận diện một loại nhà thờ cụ thể. Để khắc phục, chúng ta chuẩn bị tệp JSONL chứa các cặp hình ảnh - văn bản cho huấn luyện. Sau đó, chúng ta sử dụng API tinh chỉnh của OpenAI để tạo một mô hình tùy biến.
Cuối cùng, chúng ta kiểm thử mô hình đã tinh chỉnh và quan sát thấy độ chính xác được cải thiện trong việc nhận diện nhà thờ.
Mặc dù ví dụ này tập trung vào một trường hợp sử dụng cụ thể, các nguyên tắc và kỹ thuật cơ bản có thể áp dụng cho nhiều tác vụ liên quan đến hình ảnh, cho thấy tiềm năng của khả năng tinh chỉnh thị giác trên GPT-4o. Tôi khuyến nghị đọc các trường hợp sử dụng trong bài viết thông báo của OpenAI.
Để tìm hiểu thêm về cách làm việc với các sản phẩm của OpenAI, tôi khuyến nghị các tài nguyên sau:
