Cuộc cách mạng AI đã được hình thành trong nhiều thập kỷ. Đó là một lĩnh vực tràn ngập sự phấn khích, nhưng thường xuyên bị nhấn mạnh bởi sự thất vọng và “ mùa đông AI ”. Nhưng gần đây, một cái gì đó đã thay đổi. Các Mô hình Ngôn ngữ Lớn (LLM) như ChatGPT, Claude và Bard đã đưa AI từ sự tò mò trong phòng thí nghiệm trở thành xu hướng phổ biến .
Sự thay đổi này không chỉ là chiến thắng của AI mà còn là chiến thắng trước sự phức tạp của dữ liệu lớn và lộn xộn. Như câu nói “rác vào, rác ra”. Các công cụ mới đang nổi lên tập trung vào việc cải thiện dữ liệu cơ bản, do đó cải thiện LLM.
Thuật ngữ "Mô hình ngôn ngữ lớn" chứa đựng bên trong nó hai thách thức lớn. Đầu tiên, khối lượng dữ liệu tuyệt đối. Chúng ta đang nói về dữ liệu lên tới petabyte (một triệu gigabyte) cho GPT-4, bao gồm hàng triệu cuốn sách, blog, bài đăng trên mạng xã hội, bản ghi video, v.v. Quy mô khổng lồ này mang lại tiềm năng to lớn nhưng cũng đặt ra những cân nhắc quan trọng về hậu cần.
Thứ hai, sự phức tạp của ngôn ngữ tự nhiên. Dữ liệu ngôn ngữ phụ thuộc vào ngữ cảnh, mơ hồ và đa dạng là một con quái vật hoang dã mà ngay cả những thuật toán tốt nhất cũng phải vật lộn để chế ngự. Không thể gắn nhãn chính xác cho tất cả dữ liệu này, điều này chắc chắn có nghĩa là ngay cả các LLM hiện đại nhất cũng được đào tạo trên hàng tấn dữ liệu được gắn nhãn không chính xác.
Khi đối mặt với những thách thức này, các công cụ và phương pháp luận tập trung vào dữ liệu mới đã xuất hiện, tạo ra bước nhảy vọt thực sự về khả năng của AI. Các giải pháp như Cleanlab và các giải pháp khác bắt đầu cung cấp các cách thu thập dữ liệu đa dạng, tự động hóa kiểm soát chất lượng và xử lý ngôn ngữ thành một dạng phù hợp với các mô hình AI.
Những công cụ này không chỉ cung cấp những cải tiến gia tăng; về cơ bản họ đã định hình lại cách tiếp cận xử lý dữ liệu AI. Họ đã chuyển đổi nhiệm vụ xử lý dữ liệu ngôn ngữ quy mô lớn từ quy trình thủ công, dễ xảy ra lỗi thành quy trình tự động, chính xác, dân chủ hóa lĩnh vực này và cho phép tiến bộ với tốc độ chưa từng có.
Trong AI, bộ dữ liệu trong thế giới thực chứa các lỗi chú thích nằm trong khoảng từ 7-50% . Những khiếm khuyết này cản trở đáng kể việc đào tạo và đánh giá. AI tập trung vào dữ liệu nhấn mạnh vào việc cải thiện chất lượng của chính bộ dữ liệu.
Ví dụ, chiến lược của OpenAI minh họa cho sự nhấn mạnh này: “Chúng tôi ưu tiên lọc ra tất cả dữ liệu xấu hơn là để lại tất cả dữ liệu tốt. Điều này là do chúng ta luôn có thể tinh chỉnh mô hình của mình với nhiều dữ liệu hơn sau này để dạy cho mô hình những điều mới, nhưng sẽ khó hơn nhiều để khiến mô hình quên đi điều gì đó mà nó đã học được.”
Tuy nhiên, cách tiếp cận lọc dữ liệu thủ công tốn nhiều thời gian và chi phí. Gói Cleanlab là một khung nguồn mở phổ biến để thực hành AI tập trung vào dữ liệu ngày nay. Nó cho phép bạn chạy các thuật toán chất lượng dữ liệu trên đầu ra của mô hình ML được đào tạo để phát hiện các vấn đề về tập dữ liệu phổ biến như lỗi nhãn, giá trị ngoại lệ, độ lệch, v.v.
Chỉ với một vài dòng mã, bạn có thể tự động tìm và xác định các sự cố trong nhiều loại dữ liệu khác nhau, chẳng hạn như hình ảnh, văn bản, dạng bảng và âm thanh. Bằng cách sử dụng gói Cleanlab, bạn có thể quyết định cách cải thiện tập dữ liệu và mô hình của mình, đào tạo lại mô hình ML và thấy hiệu suất của mô hình được cải thiện mà không có bất kỳ thay đổi nào đối với mã hiện tại của bạn.
Mặt khác, Cleanlab Studio không chỉ là một phần mở rộng của gói Cleanlab; đó là một nền tảng không có mã được thiết kế để tìm và khắc phục sự cố trong bộ dữ liệu trong thế giới thực. Nó không chỉ dừng lại ở việc phát hiện các vấn đề mà còn tiến xa hơn trong việc xử lý việc quản lý và chỉnh sửa dữ liệu, thậm chí còn tự động hóa hầu hết các phần khó trong việc biến dữ liệu thô thành ML hoặc Analytics đáng tin cậy.
Hãy sử dụng gói Cleanlab để chứng minh sức mạnh của AI tập trung vào dữ liệu.
Chúng tôi bắt đầu với Bộ dữ liệu về phép lịch sự của Stanford . Đảm bảo bạn đã tải các bộ kiểm tra và đào tạo. Trong bản trình diễn này, chúng tôi sẽ tinh chỉnh Davinci LLM để phân loại 3 lớp, trước tiên không có Cleanlab, sau đó xem cách chúng tôi có thể cải thiện độ chính xác bằng cách lấy dữ liệu làm trung tâm. Chúng ta có thể chạy một lệnh bash đơn giản để đào tạo một mô hình.
!openai api fine_tunes.create -t "train_prepared.jsonl" -v "test_prepared.jsonl" --compute_classification_metrics --classification_n_classes 3 -m davinci --suffix "baseline"
Khi hoàn tất, chúng tôi có thể truy vấn điểm cuối fine_tunes.results
để xem độ chính xác của bài kiểm tra.
!openai api fine_tunes.results -i ft-9800F2gcVNzyMdTLKcMqAtJ5 > baseline.csv
`df = pd.read_csv('baseline.csv')
baseline_acc = df.iloc[-1]['phân loại/độ chính xác']`
Chúng tôi nhận được kết quả có độ chính xác 63%. Hãy xem liệu chúng ta có thể cải thiện điều này không.
Bây giờ, hãy sử dụng API của OpenAI để tính toán các lượt nhúng và điều chỉnh mô hình hồi quy logistic để thu được các xác suất lớp dự đoán nằm ngoài mẫu.
# Get embeddings from OpenAI. from openai.embeddings_utils import get_embedding
embedding_model = "text-similarity-davinci-001" train["embedding"] = train.prompt.apply(lambda x: get_embedding(x, engine=embedding_model)) embeddings = train["embedding"].values
# Get out-of-sample predicted class probabilities via cross-validation.
from sklearn.linear_model import LogisticRegression
model = LogisticRegression() labels = train["completion"].values pred_probs = cross_val_predict(estimator=model, X=embeddings, y=labels, cv=10, method="predict_proba")
Chỉ với một dòng mã, Cleanlab ước tính ví dụ nào có vấn đề về nhãn trong tập dữ liệu đào tạo của chúng tôi.
from cleanlab.filter import find_label_issues
Bây giờ chúng ta có thể lấy chỉ số của các ví dụ ước tính có vấn đề về nhãn:
issue_idx = find_label_issues(labels, pred_probs, return_indices_ranked_by='self_confidence') # sort indices by likelihood of label error
Bây giờ, chúng tôi đã tự động trích xuất các chỉ số của các ví dụ có khả năng bị gắn nhãn sai, vì vậy chúng tôi có thể xóa chúng và huấn luyện một bộ phân loại mới.
# Remove the label errors
train_cl = train.drop(issue_idx).reset_index(drop=True) format_data(train_cl, "train_cl.jsonl")
Bây giờ, hãy đào tạo một bộ phân loại mạnh mẽ hơn với dữ liệu tốt hơn.
!openai api fine_tunes.create -t "train_cl_prepared.jsonl" -v "test_prepared.jsonl" --compute_classification_metrics --classification_n_classes 3 -m davinci --suffix "dropped"
# Evaluate model on test data
!openai api fine_tunes.results -i ft-InhTRQGu11gIDlVJUt0LYbEx > cleanlab.csv df = pd.read_csv('cleanlab.csv') dropped_acc = df.iloc[-1]['classification/accuracy']
Chúng tôi đạt được độ chính xác trên 66%, cải thiện mô hình tinh chỉnh tiên tiến nhất (GPT-3, vì bạn không thể tinh chỉnh GPT-4), chỉ bằng cách tự động cải thiện tập dữ liệu mà không có bất kỳ thay đổi nào đến mô hình.
Với Cleanlab Studio, bạn cũng có thể tự động sửa các nhãn không chính xác thay vì chỉ xóa chúng hoàn toàn, cải thiện độ chính xác hơn nữa. Hướng dẫn của Cleanlab cho thấy điều này có độ chính xác lên tới 77%.
Bằng cách sử dụng các công cụ tập trung vào dữ liệu như Cleanlab, bạn có thể tìm và khắc phục các sự cố về dữ liệu và nhãn một cách hiệu quả, giúp cải thiện đáng kể hiệu suất của các LLM như Davinci. Cách tiếp cận này không làm thay đổi kiến trúc mô hình hoặc siêu tham số và chỉ tập trung vào việc nâng cao chất lượng của dữ liệu huấn luyện.
Cách tiếp cận được nêu trong hướng dẫn này có thể là chìa khóa để mở ra độ chính xác và mạnh mẽ hơn nữa trong các mô hình AI, ngay cả với các LLM tiên tiến trong tương lai như GPT-5.