Yapay zeka devrimi onlarca yıldır yapım aşamasındaydı. Heyecanla dolu, ancak sıklıkla hayal kırıklıkları ve " Yapay Zeka kışları " ile noktalanan bir alandı. Ancak son zamanlarda bir şeyler değişti. ChatGPT, Claude ve Bard gibi Büyük Dil Modelleri (LLM'ler) yapay zekayı laboratuvar merakından ana akıma fırlattı.
Bu değişim yalnızca yapay zekanın bir zaferi değildi, aynı zamanda büyük ve karmaşık verilerin karmaşıklığına karşı da bir zaferdi. Deyim yerindeyse, “çöp içeri, çöp dışarı”. Temel verileri iyileştirmeye, dolayısıyla yüksek lisans eğitimlerini iyileştirmeye odaklanan yeni araçlar ortaya çıkıyor.
"Geniş Dil Modelleri" terimi iki büyük zorluğu bünyesinde barındırmaktadır. İlk olarak, çok büyük miktarda veri. Milyonlarca kitabı, blogu, sosyal medya gönderisini, video transkriptini ve daha fazlasını kapsayan GPT-4 için bir petabayttan (bir milyon gigabayt) fazla veriden bahsediyoruz. Bu devasa ölçek, büyük bir potansiyel sunuyor ancak aynı zamanda önemli lojistik hususları da beraberinde getiriyor.
İkincisi, doğal dilin karmaşıklığı. Bağlama bağlı, belirsiz ve çeşitli dil verileri, en iyi algoritmaların bile evcilleştirmeye çalıştığı vahşi bir canavardır. Tüm bu verileri doğru bir şekilde etiketlemek imkansızdır; bu, kaçınılmaz olarak, en son teknolojiye sahip LLM'lerin bile tonlarca yanlış etiketlenmiş veri üzerinde eğitildiği anlamına gelir.
Bu zorluklarla yüzleşirken, yapay zekanın yapabilecekleri konusunda gerçek bir sıçramayı mümkün kılan yeni veri merkezli araçlar ve metodolojiler ortaya çıktı. Cleanlab ve diğerleri gibi çözümler, çeşitli verileri toplamanın, kalite kontrolünü otomatikleştirmenin ve dili yapay zeka modellerine uygun bir biçimde işlemenin yollarını sunmaya başladı.
Bu araçlar yalnızca artan iyileştirmeler sunmakla kalmıyordu; Yapay zeka veri işleme yaklaşımını temelden yeniden şekillendirdiler. Büyük ölçekli dil verilerinin işlenmesi görevini manuel, hataya açık bir süreçten otomatik, hassas bir sürece dönüştürdüler, alanı demokratikleştirdiler ve ilerlemelerin benzeri görülmemiş bir hızda ilerlemesini sağladılar.
Yapay zekada, gerçek dünyadaki veri kümeleri %7-50 arasında değişen açıklama hataları içerir. Bu kusurlar eğitim ve değerlendirmeyi önemli ölçüde engellemektedir. Veri merkezli yapay zeka, veri kümesinin kalitesinin iyileştirilmesini vurguluyor.
Örneğin OpenAI'nin stratejisi bu vurguyu gösteriyor: “Tüm iyi verileri bırakmak yerine tüm kötü verileri filtrelemeye öncelik verdik. Bunun nedeni, modelimize yeni şeyler öğretmek için daha sonra her zaman daha fazla veriyle ince ayar yapabilmemizdir, ancak modelin zaten öğrendiği bir şeyi unutmasını sağlamak çok daha zordur."
Ancak verileri manuel olarak filtreleme yaklaşımı zaman alıcı ve pahalıdır. Cleanlab paketi, günümüzde veri merkezli yapay zeka uygulamaları için popüler olan açık kaynaklı bir çerçevedir. Etiket hataları, aykırı değerler, sapmalar ve daha fazlası gibi yaygın veri kümesi sorunlarını tespit etmek için eğitimli makine öğrenimi modelinizin çıktıları üzerinde veri kalitesi algoritmaları çalıştırmanıza olanak tanır.
Yalnızca birkaç satır kodla resim, metin, tablo ve ses gibi çeşitli veri türlerindeki sorunları otomatik olarak bulabilir ve tanımlayabilirsiniz. Cleanlab paketini kullanarak veri kümenizi ve modelinizi nasıl geliştireceğinize karar verebilir, ML modelinizi yeniden eğitebilir ve mevcut kodunuzda herhangi bir değişiklik yapmadan performansının arttığını görebilirsiniz.
Cleanlab Studio ise Cleanlab paketinin bir uzantısından daha fazlasıdır; gerçek dünyadaki veri kümelerindeki sorunları bulmak ve düzeltmek için tasarlanmış kodsuz bir platformdur. Yalnızca sorunları tespit etmekle kalmıyor, aynı zamanda veri iyileştirme ve düzeltme işlemlerini de daha da ileri götürüyor ve hatta ham verileri güvenilir ML veya Analytics'e dönüştürmenin neredeyse tüm zorlu kısımlarını otomatikleştiriyor.
Veri merkezli yapay zekanın gücünü göstermek için Cleanlab paketini kullanalım.
Stanford Nezaket Veri Kümesiyle başlıyoruz. Eğitim ve test setlerinin yüklü olduğundan emin olun. Bu demoda, önce Cleanlab olmadan Davinci LLM'ye 3 sınıflı sınıflandırma için ince ayar yapacağız ve ardından veri merkezlilikle doğruluğu nasıl geliştirebileceğimizi göreceğiz. Bir modeli eğitmek için basit bir bash komutu çalıştırabiliriz.
!openai api fine_tunes.create -t "train_prepared.jsonl" -v "test_prepared.jsonl" --compute_classification_metrics --classification_n_classes 3 -m davinci --suffix "baseline"
Bu tamamlandığında, testin doğruluğunu görmek için fine_tunes.results
uç noktasını sorgulayabiliriz.
!openai api fine_tunes.results -i ft-9800F2gcVNzyMdTLKcMqAtJ5 > baseline.csv
`df = pd.read_csv('baseline.csv')
baseline_acc = df.iloc[-1]['sınıflandırma/doğruluk']`
%63 doğrulukta sonuç alıyoruz. Bakalım bunu geliştirebilecek miyiz?
Şimdi, yerleştirmeleri hesaplamak için OpenAI'nin API'sini kullanalım ve örnek dışı tahmin edilen sınıf olasılıklarını elde etmek için bir lojistik regresyon modeli uyduralım.
# 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")
Cleanlab, yalnızca bir satır kodla eğitim veri kümemizde hangi örneklerin etiket sorunlarına sahip olduğunu tahmin eder.
from cleanlab.filter import find_label_issues
Artık etiket sorunları olduğu tahmin edilen örneklerin indekslerini alabiliriz:
issue_idx = find_label_issues(labels, pred_probs, return_indices_ranked_by='self_confidence') # sort indices by likelihood of label error
Artık potansiyel olarak yanlış etiketlenmiş örneklerin indekslerini otomatik olarak çıkardık, böylece bunları kaldırabilir ve yeni bir sınıflandırıcı eğitebiliriz.
# Remove the label errors
train_cl = train.drop(issue_idx).reset_index(drop=True) format_data(train_cl, "train_cl.jsonl")
Şimdi daha iyi verilerle daha sağlam bir sınıflandırıcıyı eğitelim.
!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']
Yalnızca veri kümesini herhangi bir değişiklik yapmadan otomatik olarak iyileştirerek son teknoloji ürünü ince ayar yapılabilir modeli (GPT-3, çünkü GPT-4'e ince ayar yapamayacağınız için) geliştirerek %66'nın üzerinde bir doğruluk elde ediyoruz. modele.
Cleanlab Studio ile yanlış etiketleri doğrudan kaldırmak yerine otomatik olarak düzeltmek de mümkündür, bu da doğruluğu daha da artırır. Cleanlab'ın bir kılavuzu bunun %77'ye kadar doğruluk gerektirdiğini gösteriyor.
Cleanlab gibi veri merkezli araçları kullanarak, verileri ve etiket sorunlarını etkili bir şekilde bulup düzeltebilir, böylece Davinci gibi Yüksek Lisans'ların performansında önemli iyileşmeler sağlayabilirsiniz. Bu yaklaşım, model mimarisini veya hiperparametreleri değiştirmez ve yalnızca eğitim verilerinin kalitesini artırmaya odaklanır.
Bu kılavuzda ana hatlarıyla belirtilen yaklaşım, GPT-5 gibi gelecekteki gelişmiş LLM'lerde bile yapay zeka modellerinde daha fazla doğruluk ve sağlamlığın kilidini açmanın anahtarı olabilir.