Khóa học
Mẫu ngôn ngữ mới nhất của OpenAI, GPT-3.5 Turbo, đánh dấu một bước tiến lớn trong khả năng của các mô hình ngôn ngữ lớn. Được xây dựng trên họ mô hình GPT-3, GPT-3.5 Turbo có thể tạo văn bản giống con người một cách đáng kinh ngạc đồng thời rẻ hơn và dễ tiếp cận hơn các phiên bản trước. Tuy nhiên, sức mạnh thực sự của GPT-3.5 Turbo nằm ở khả năng tùy biến thông qua quy trình gọi là tinh chỉnh (fine-tuning).
Tinh chỉnh cho phép nhà phát triển đưa dữ liệu riêng vào để điều chỉnh mô hình cho các trường hợp sử dụng cụ thể và cải thiện đáng kể hiệu suất trên các tác vụ chuyên biệt. Với tinh chỉnh, GPT-3.5 Turbo thậm chí đã sánh ngang hoặc vượt GPT-4 trong một số ứng dụng hẹp.
Mức độ tùy biến mới này mở khóa tiềm năng để doanh nghiệp và nhà phát triển triển khai GPT-3.5 Turbo nhằm tạo ra các ứng dụng AI được may đo, hiệu năng cao. Khi tinh chỉnh trở nên khả dụng cho GPT-3.5 Turbo và cả GPT-4 còn mạnh mẽ hơn vào cuối năm nay, chúng ta đang đứng trước ngưỡng của một kỷ nguyên mới trong AI ứng dụng.
Vì sao cần tinh chỉnh mô hình ngôn ngữ?
Tinh chỉnh đã trở thành kỹ thuật then chốt để khai thác tối đa các mô hình ngôn ngữ lớn như GPT-3.5 Turbo. Chúng tôi có một hướng dẫn riêng về tinh chỉnh GPT-3, chẳng hạn.
Dù các mô hình tiền huấn luyện có thể tạo văn bản giống con người đáng kể ngay từ đầu, khả năng thực sự của chúng được mở khóa thông qua tinh chỉnh. Quy trình này cho phép nhà phát triển tùy biến mô hình bằng cách huấn luyện trên dữ liệu theo lĩnh vực, thích ứng với các trường hợp sử dụng chuyên biệt vượt ra ngoài những gì huấn luyện mục đích chung có thể đạt được. Tinh chỉnh cải thiện mức độ phù hợp, độ chính xác và hiệu năng của mô hình cho các ứng dụng ngách.
Tùy biến cho trường hợp sử dụng cụ thể
Tinh chỉnh cho phép nhà phát triển tùy biến mô hình để tạo trải nghiệm độc đáo và khác biệt, đáp ứng các yêu cầu và miền kiến thức cụ thể. Bằng cách huấn luyện mô hình trên dữ liệu theo lĩnh vực, mô hình có thể tạo đầu ra phù hợp và chính xác hơn cho ngách đó. Mức độ tùy biến này giúp doanh nghiệp xây dựng các ứng dụng AI được may đo.
Cải thiện khả năng điều hướng và độ tin cậy
Tinh chỉnh nâng cao khả năng của mô hình trong việc tuân thủ hướng dẫn và tạo đầu ra có định dạng ổn định, nhất quán. Thông qua huấn luyện trên dữ liệu đã được định dạng, mô hình học cấu trúc và phong cách mong muốn, cải thiện khả năng điều hướng. Kết quả là đầu ra dự đoán được và dễ kiểm soát hơn.
Tăng cường hiệu năng
Tinh chỉnh có thể tăng đáng kể hiệu năng của mô hình, thậm chí cho phép GPT-3.5 Turbo đã tinh chỉnh sánh ngang hoặc vượt khả năng của GPT-4 trong một số tác vụ chuyên biệt. Bằng cách tối ưu mô hình cho một miền hẹp, nó đạt kết quả vượt trội trong không gian vấn đề ngách đó so với mô hình tổng quát. Mức tăng hiệu năng từ tinh chỉnh là đáng kể.
Hãy xem hướng dẫn của chúng tôi về 12 lựa chọn thay thế GPT-4 mã nguồn mở, khám phá một số công cụ có thể mang lại hiệu năng tương tự và cần ít tài nguyên tính toán hơn để vận hành.
Tác động của việc tinh chỉnh GPT 3.5-Turbo
Trong giai đoạn thử nghiệm beta do OpenAI thực hiện, họ nhận thấy khách hàng tinh chỉnh mô hình đã thấy những cải thiện đáng kể về hiệu suất cho nhiều ứng dụng chuẩn. Dưới đây là một số điểm chính:
1. Tăng khả năng định hướng
Thông qua tinh chỉnh, các công ty có thể hướng dẫn mô hình tuân theo một số nguyên tắc tốt hơn. Ví dụ, nếu một công ty muốn câu trả lời súc tích hoặc cần mô hình luôn phản hồi bằng một ngôn ngữ cụ thể, tinh chỉnh có thể giúp đạt được điều đó. Một ví dụ điển hình là nhà phát triển có thể điều chỉnh mô hình để luôn phản hồi bằng tiếng Đức khi được yêu cầu.
2. Cấu trúc phản hồi nhất quán
Một trong những lợi ích nổi bật của tinh chỉnh là khả năng làm cho đầu ra của mô hình đồng đều hơn. Điều này đặc biệt hữu ích cho các tác vụ cần cấu trúc phản hồi cụ thể, như gợi ý mã hoặc tạo tương tác API. Chẳng hạn, với tinh chỉnh, nhà phát triển có thể tin tưởng mô hình sẽ chuyển đổi truy vấn người dùng thành định dạng JSON chất lượng, tương thích với hệ thống của họ.
3. Cá nhân hóa giọng điệu
Tinh chỉnh có thể được dùng để điều chỉnh phản hồi của mô hình phù hợp hơn với giọng điệu hoặc phong cách riêng của công ty. Các công ty có giọng thương hiệu đặc trưng có thể tận dụng tính năng này để đảm bảo giọng điệu của mô hình khớp với tinh thần thương hiệu.
Điều kiện tiên quyết để tinh chỉnh
Tinh chỉnh cho phép tùy biến một mô hình ngôn ngữ đã tiền huấn luyện như GPT-3.5 Turbo bằng cách tiếp tục quá trình huấn luyện trên dữ liệu của bạn. Điều này giúp mô hình thích ứng với trường hợp sử dụng cụ thể và cải thiện đáng kể hiệu suất.
Để bắt đầu tinh chỉnh, trước tiên bạn cần quyền truy cập vào API của OpenAI. Sau khi đăng ký trên trang web OpenAI, bạn có thể lấy khóa API để tương tác với API và các mô hình.
Tiếp theo, bạn cần chuẩn bị một bộ dữ liệu cho việc tinh chỉnh. Điều này bao gồm tuyển chọn các ví dụ về lời nhắc văn bản và phản hồi mong muốn của mô hình. Dữ liệu nên khớp với định dạng mà ứng dụng của bạn sẽ sử dụng mô hình. Việc làm sạch và định dạng dữ liệu theo cấu trúc JSONL yêu cầu cũng rất quan trọng.
OpenAI CLI cung cấp các công cụ hữu ích để xác thực và tiền xử lý dữ liệu huấn luyện của bạn.
Khi đã được xác thực, bạn có thể tải dữ liệu lên máy chủ OpenAI.
Cuối cùng, bạn khởi tạo một tác vụ tinh chỉnh thông qua API, chọn mô hình GPT-3.5
Turbo gốc và truyền tệp dữ liệu huấn luyện của bạn. Quá trình tinh chỉnh có thể mất hàng giờ hoặc vài ngày, tùy theo kích thước dữ liệu. Bạn có thể theo dõi tiến độ huấn luyện qua API.
Cách tinh chỉnh mô hình OpenAI GPT 3.5-Turbo: Hướng dẫn từng bước
Gần đây OpenAI đã phát hành giao diện UI để tinh chỉnh các mô hình ngôn ngữ. Trong hướng dẫn này, tôi sẽ dùng UI của OpenAI để tạo một mô hình GPT đã tinh chỉnh. Để theo dõi phần này, bạn cần có tài khoản và khóa OpenAI.
1. Đăng nhập vào platform.openai.com

2. Chuẩn bị dữ liệu của bạn
Để minh họa, tôi đã tuyển chọn một tập dữ liệu nhỏ gồm các câu hỏi và câu trả lời, hiện được lưu dưới dạng Pandas DataFrame.

Chỉ để trình bày những gì tôi đã làm, tôi tạo 50 câu hỏi về machine learning và câu trả lời theo phong cách Shakespeare. Thông qua tác vụ tinh chỉnh này, tôi cá nhân hóa phong cách và giọng điệu của mô hình GPT3.5-turbo.
Dù đây không phải là một trường hợp sử dụng quá thực tế, vì bạn có thể đơn giản thêm “Trả lời theo phong cách Shakespeare” vào prompt, GPT3.5 chắc chắn biết về Shakespeare và sẽ tạo câu trả lời theo giọng điệu yêu cầu.
Với OpenAI, dữ liệu phải ở định dạng jsonl. JSONL là định dạng trong đó mỗi dòng là một đối tượng JSON hợp lệ, phân tách bằng xuống dòng. Tôi đã viết một đoạn mã đơn giản để chuyển pd.DataFrame thành jsonl.
import json
import pandas as pd
DEFAULT_SYSTEM_PROMPT = 'You are a teaching assistant for Machine Learning. You should help the user to answer his question.'
def create_dataset(question, answer):
return {
"messages": [
{"role": "system", "content": DEFAULT_SYSTEM_PROMPT},
{"role": "user", "content": question},
{"role": "assistant", "content": answer},
]
}
if __name__ == "__main__":
df = pd.read_csv("path/to/file.csv", encoding='cp1252')
with open("train.jsonl", "w") as f:
for _, row in df.iterrows():
example_str = json.dumps(create_dataset(row["Question"], row["Answer"]))
f.write(example_str + "\n")
Tệp jsonl của tôi trông như sau:

3. Tạo tác vụ tinh chỉnh
Truy cập platform.openai.com, điều hướng đến Fine-tuning trên menu trên cùng và nhấp Create New.

Chọn mô hình gốc. Tại thời điểm hiện tại, chỉ có 3 mô hình khả dụng để tinh chỉnh (babbage-002, davinci-002, gpt-3.5-turbo-0613).
Tiếp theo, chỉ cần tải tệp jsonl lên, đặt tên cho tác vụ và nhấp Create.
Tác vụ tinh chỉnh có thể mất vài giờ hoặc thậm chí vài ngày, tùy theo kích thước bộ dữ liệu. Trong ví dụ của tôi, bộ dữ liệu chỉ có 5.500 token và mất hơn 6 giờ để tinh chỉnh. Chi phí cho tác vụ này không đáng kể (<$1 = 5.500/1000 x $0,08).
Hướng dẫn này cho thấy cách bạn có thể dùng UI để tinh chỉnh các mô hình GPT. Nếu bạn muốn học cách đạt được điều tương tự bằng API, hãy xem hướng dẫn Tinh chỉnh GPT-3 bằng OpenAI API và Python của Zoumana Keita trên DataCamp.
4. Sử dụng mô hình đã tinh chỉnh
Khi tác vụ tinh chỉnh hoàn tất, bạn có thể dùng mô hình đã tinh chỉnh thông qua API hoặc dùng playground có sẵn trên platform.openai.com.

Lưu ý rằng trong danh sách thả xuống Model, giờ đây có một 3.5-turbo cá nhân để chọn. Hãy thử nhé.

Lưu ý giọng điệu và phong cách của các phản hồi.
Nếu bạn muốn học cách làm việc với gói OpenAI Python để lập trình trao đổi với ChatGPT, hãy xem bài viết Sử dụng GPT-3.5 và GPT-4 qua OpenAI API trong Python trên DataCamp.
An toàn và quyền riêng tư
OpenAI coi trọng an toàn và có các quy trình nghiêm ngặt trước khi phát hành mô hình mới, bao gồm kiểm thử, phản hồi từ chuyên gia, kỹ thuật cải thiện hành vi mô hình và hệ thống giám sát. Họ hướng tới việc đem lại lợi ích từ các hệ thống AI mạnh mẽ và giảm thiểu rủi ro có thể lường trước.
Tinh chỉnh cho phép tùy biến các mô hình như GPT-3.5 Turbo đồng thời vẫn giữ các tính năng an toàn quan trọng. OpenAI áp dụng can thiệp ở nhiều cấp độ - đo lường, thay đổi mô hình, chính sách, giám sát - để giảm thiểu rủi ro và điều chỉnh mô hình phù hợp.
OpenAI loại bỏ thông tin cá nhân khỏi dữ liệu huấn luyện khi khả thi và có chính sách chống tạo nội dung chứa thông tin của cá nhân riêng tư. Điều này giúp giảm thiểu rủi ro về quyền riêng tư.
Với các trường hợp sử dụng phổ biến không có dữ liệu nhạy cảm, có thể tận dụng mô hình của OpenAI một cách an toàn. Nhưng đối với dữ liệu sở hữu hoặc bị quản lý, các lựa chọn như làm nhiễu dữ liệu, bộ xử lý AI riêng tư hoặc mô hình nội bộ có thể phù hợp hơn.
Chi phí tinh chỉnh GPT 3.5-turbo
Có ba khoản chi phí liên quan đến việc tinh chỉnh và sử dụng mô hình GPT 3.5-turbo đã tinh chỉnh.
- Chuẩn bị dữ liệu huấn luyện. Bao gồm tuyển chọn một bộ dữ liệu lời nhắc văn bản và phản hồi mong muốn, phù hợp với trường hợp sử dụng cụ thể của bạn. Chi phí phụ thuộc vào thời gian và công sức để thu thập và định dạng dữ liệu.
- Chi phí huấn luyện ban đầu. Tính theo token của dữ liệu huấn luyện. Với $0,008 cho mỗi 1.000 token, một tập huấn luyện 100.000 token sẽ tốn $800 cho lần tinh chỉnh ban đầu.
- Chi phí sử dụng liên tục. Tính theo token cho cả lời nhắc đầu vào và đầu ra của mô hình. Ở mức $0,012 cho mỗi 1.000 token đầu vào và $0,016 cho mỗi 1.000 token đầu ra, chi phí có thể tăng nhanh tùy theo mức sử dụng ứng dụng.
Hãy xem một ví dụ kịch bản chi phí sử dụng:
- Chatbot với lời nhắc/phản hồi 4.000 token, 1.000 tương tác mỗi ngày:
(4.000/1000) token đầu vào x $0,012 x 1.000 tương tác = $48 mỗi ngày
(4.000/1000) token đầu ra x $0,016 x 1.000 tương tác = $64 mỗi ngày
Tổng = $112 mỗi ngày, tương đương $3.360 mỗi tháng
- API tóm tắt văn bản với đầu vào 2.000 token, 500 yêu cầu mỗi ngày:
(2.000/1000) token đầu vào x $0,012 x 500 yêu cầu = $12 mỗi ngày
(2.000/1000) token đầu ra x $0,016 x 500 yêu cầu = $16 mỗi ngày
Tổng = $28 mỗi ngày, tương đương $840 mỗi tháng
Lưu ý: Token chia cho 1000 vì bảng giá của OpenAI được báo theo mỗi 1K token.
Tìm hiểu cách sử dụng ChatGPT trong một dự án khoa học dữ liệu đầu-cuối thực tế. Xem Hướng dẫn sử dụng ChatGPT cho các dự án Khoa học Dữ liệu để học cách dùng ChatGPT cho lập kế hoạch dự án, phân tích dữ liệu, tiền xử lý dữ liệu, chọn mô hình, tinh chỉnh siêu tham số, phát triển ứng dụng web và triển khai trên Spaces.
Kết luận
Khi chúng ta tiến sâu vào tiền tuyến khả năng của các mô hình ngôn ngữ lớn, GPT-3.5 Turbo nổi bật không chỉ bởi khả năng tạo văn bản giống con người mà còn bởi tiềm năng chuyển đổi được mở khóa nhờ tinh chỉnh. Quy trình tùy biến này cho phép nhà phát triển mài giũa sức mạnh của mô hình để phù hợp với các ứng dụng ngách, từ đó đạt kết quả vượt trội, thậm chí sánh ngang hoặc vượt các hậu duệ của nó trong những lĩnh vực chuyên biệt.
Những cải thiện về khả năng định hướng, cấu trúc phản hồi và cá nhân hóa giọng điệu thể hiện rõ trong các ứng dụng được tinh chỉnh để đáp ứng yêu cầu riêng, qua đó cho phép doanh nghiệp mang đến các trải nghiệm do AI dẫn dắt độc đáo. Tuy nhiên, quyền năng lớn đi kèm trách nhiệm đáng kể. Điều quan trọng là hiểu các chi phí liên quan và lưu tâm đến cân nhắc về an toàn, quyền riêng tư khi triển khai AI tạo sinh và mô hình ngôn ngữ.
Truy cập hơn 60 lời nhắc ChatGPT cho các tác vụ khoa học dữ liệu với ChatGPT Cheat Sheet cho Khoa học Dữ liệu.
