GPT-4o Mini modelini ince ayarlamaya başlamadan önce, model yanıtlarını özelleştirmek ve alanınıza özgü yanıtlar almak için istem mühendisliği, istem zincirleme ve fonksiyon çağrısı kullanmanızı öneririz.
İnce ayar; stil, ton veya biçimi ayarlamak istediğinizde gereklidir. Güvenilirliği ve doğruluğu artırmak, karmaşık istemleri ele almak veya istem mühendisliğiyle başarılamayan yeni bir görevi yerine getirmek için kullanılır.
Bu öğreticide GPT-4o Mini modelini metinleri "stres" ve "stres değil" etiketlerine sınıflandıracak şekilde ince ayarlayacağız. Ardından, ince ayarlı modele OpenAI API ve OpenAI playground üzerinden erişeceğiz. Son olarak, çeşitli sınıflandırma metriklerini kullanarak modeli ince ayardan önce ve sonra karşılaştırıp değerlendireceğiz.
Görsel: Yazar
GPT-4o Mini’ye Giriş
GPT-4o Mini, mevcut en maliyet etkin genel amaçlı büyük dil modelidir. MMLU’da %82 puan alır ve şu anda LMSYS lider panosunda sohbet tercihleri açısından Claude 3.5 Sonnet’i geride bırakır. Maliyet, milyon giriş belirteci başına 15 sent ve milyon çıkış belirteci başına 60 senttir; bu da GPT-3.5 Turbo’dan %60 daha ucuzdur.
GPT-4o mini şu anda girdi olarak metin ve görselleri destekler. Modelin bağlam penceresi 128K belirteçtir, istek başına 16K’a kadar çıktı belirteci destekler ve Ekim 2023’e kadar bilgiye sahiptir. GPT-4o Mini, GPT-4o belirteçleyicisini kullandığı için İngilizce olmayan metinleri de işleyebilir. Düşük maliyetle iki dünyanın en iyi yanlarını elde ederiz.
Kullanım senaryoları, sohbet tamamlama API’si ve GPT-4o Mini’nin ayrıntılı kıyaslamaları hakkında bilgi edinmek için blog yazımızı okuyun: GPT-4o Mini Nedir?
OpenAI API’sini Kurma
OpenAI web sitesine gidip bir hesap oluşturun. İnce ayar maliyetlidir ve GPT-4o Mini’yi API üzerinden kullanmak için hesabınıza bağlı bir ödeme yöntemi olması gerekir. Aksaklıkları önlemek için, modele ince ayar denemeden önce hesabınızda en az 10 USD kredi bakiyesi bulunduğundan emin olun.
Ana gösterge panosuna gidin, “API keys” sekmesine tıklayın ve OpenAI API gizli anahtarını oluşturun.
Kod düzenleyicisi olarak DataCamp’in DataLab’ını kullanıyoruz. OpenAI API anahtarı çevre değişkenini ayarlamak için ortam sekmesine gidip çevre değişkeni seçeneğine tıklayın. Ardından, API anahtarı için çevre değişkenini ekleyip aşağıda gösterildiği gibi etkinleştirin.
GPT-4o Mini’ye erişmek için OpenAI Python paketini kurun.
OpenAI API anahtarını kullanarak istemciyi oluşturun ve örnek istemle bir yanıt üretin. Sohbet tamamlama işlevi model adını ve sözlük listesi biçiminde mesajları ister.
from IPython.display import Markdown, display
from openai import OpenAI
import os
openai_api_key = os.environ["OPENAI_API_KEY"]
client = OpenAI(api_key=openai_api_key)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role":"system","content":"You are a great philosopher."},{"role":"user","content":"What is the meaning of life?"}])
display(Markdown(response.choices[0].message.content))Altyapı:
OpenAI API’miz tamamen kuruldu ve ince ayar işini başlatmaya hazırız.
OpenAI’nin API’sinde yeni misiniz? Durumu en iyi modelleri birkaç satır kodla nasıl kullanacağınızı anlamak için GPT-4o API Eğitimi: OpenAI’nin API’sine Başlarken başlıklı basit ve ayrıntılı öğreticiyi izleyebilirsiniz.
GPT-4o Mini’yi İnce Ayarlama
Bu bölümde, Kaggle’daki Stress Detection from the Social Media Articles veri kümesi üzerinde GPT-4o Mini modelini ince ayarlayacağız. Veri kümesi Reddit ve Twitter gönderilerini içerir ve bunları stres ve stres değil etiketlerine ayırır.
Veri kümesini oluşturma
Şimdi veri kümesini yükleyip işleyeceğiz.
Reddit gönderi veri kümesinden ilk 200 satırı yükleyin.
'title' ve 'label' dışındaki tüm sütunları kaldırın.
Etiket sütununu 0 ve 1 değerlerini "stres değil" ve "stres" etiketlerine dönüştürecek şekilde eşleyin.
Veri kümesini eğitim ve doğrulama setlerine ayırın.
Hem eğitim hem doğrulama setlerini JSONL formatında kaydedin.
Not: Sistem istemi, kullanıcı sorgusu ve yanıttan oluşan doğru veri kümesi biçimini sağladığınızdan emin olun. Yanıt, etiket olacaktır.
import pandas as pd
import json
from sklearn.model_selection import train_test_split
# Load the CSV file with the correct delimiter
file_path ='Reddit_Title.csv'# Change this to your local path
data = pd.read_csv(file_path, sep=';')# Clean up and drop unnecessary columns, and select the top 200 rows
data_cleaned = data[['title','label']].head(200)# Mapping the 'label' column to more human-readable text
label_mapping ={0:"non-stress",1:"stress"}
data_cleaned['label']= data_cleaned['label'].map(label_mapping)# Split the data into training and validation sets (80% train, 20% validation)
train_data, validation_data = train_test_split(data_cleaned, test_size=0.2, random_state=42)defsave_to_jsonl(data, output_file_path):
jsonl_data =[]for index, row in data.iterrows():
jsonl_data.append({"messages":[{"role":"system","content":"Given a social media post, classify whether it indicates 'stress' or 'non-stress'."},{"role":"user","content": row['title']},{"role":"assistant","content":f"\"{row['label']}\""}]})# Save to JSONL formatwithopen(output_file_path,'w')as f:for item in jsonl_data:
f.write(json.dumps(item)+'\n')# Save the training and validation sets to separate JSONL files
train_output_file_path ='stress_detection_train.jsonl'
validation_output_file_path ='stress_detection_validation.jsonl'
save_to_jsonl(train_data, train_output_file_path)
save_to_jsonl(validation_data, validation_output_file_path)print(f"Training dataset save to {train_output_file_path}")print(f"Validation dataset save to {validation_output_file_path}")Altyapı:
Çıktı:
Training dataset save to stress_detection_train.jsonl
Validation dataset save to stress_detection_validation.jsonlAltyapı:
Veri kümesini yükleme
Şimdi ince ayar için hem eğitim hem doğrulama veri kümelerini yüklemek üzere OpenAI istemcisini kullanacağız.
Veri kümesinin buluta başarıyla yüklendiğini kontrol etmek için Gösterge Paneline gidip “Storage” sekmesine tıklayın. Orada iki dosya görünecek ve kullanıma hazır olacaktır.
İnce ayar işini başlatma
İstemci API’sini kullanarak ince ayar işini oluşturun. İnce ayar işlevi, eğitim veri kümesi dosya kimliği, doğrulama veri kümesi dosya kimliği, model adı ve hiperparametreleri gerektirir. Modelimizi üç epoch boyunca ince ayarlayacağız. Model performansını artırmak için her zaman tam veri kümesinde en az 5 epoch ile eğitim yapabilirsiniz.
model = client.fine_tuning.jobs.create(
training_file=train_file.id,
validation_file=valid_file.id,
model="gpt-4o-mini-2024-07-18",
hyperparameters={"n_epochs":3,"batch_size":3,"learning_rate_multiplier":0.3})
job_id = model.id
status = model.status
print(f'Fine-tuning model with jobID: {job_id}.')print(f"Training Response: {model}")print(f"Training Status: {status}")Altyapı:
İşlevi çalıştırdığımızda ince ayar işi başlayacak ve günlükler görüntülenecektir.
Fine-tuning model with jobID: ftjob-rgIMFxZSsWDqCNfOev54e4Jq.
Training Response: FineTuningJob(id='ftjob-rgIMFxZSsWDqCNfOev54e4Jq', created_at=1727135628, error=Error(code=None, message=None, param=None), fine_tuned_model=None, finished_at=None, hyperparameters=Hyperparameters(n_epochs=3, batch_size=3, learning_rate_multiplier=0.3), model='gpt-4o-mini-2024-07-18',object='fine_tuning.job', organization_id='org-jLXWbL5JssIxj9KNgoFBK7Qi', result_files=[], seed=748607710, status='validating_files', trained_tokens=None, training_file='file-b2lo2chod6xuMhYg9JcEsnp6', validation_file='file-Fae0AVSUhTGr49qhQz8d2yyp', estimated_finish=None, integrations=[], user_provided_suffix=None)
Training Status: validating_filesAltyapı:
Gösterge panelinde “Fine-tuning” sekmesine ve iş kimliğine tıklayarak ince ayar işinin durumunu görüntüleyebiliriz.
Ya da jobs.retrieve işlevini kullanarak ince ayar işinin durumunu kontrol edebiliriz.
# Retrieve the state of a fine-tune
client.fine_tuning.jobs.retrieve(job_id)Altyapı:
Kayıp azalıyor gibi görünmüyorsa, jobs.cancel işlevini kullanarak işi her zaman iptal edebilirsiniz.
# Cancel a job
client.fine_tuning.jobs.cancel(job_id)Altyapı:
İnce ayar işi tamamlandığında, ince ayarlı modelin kullanıma hazır olduğunu bildiren bir e-posta alacaksınız.
API ile İnce Ayarlı Modele Erişim
İnce ayarlı modele erişmek için, ince ayarlı modelin adını almamız gerekir. Bunu yapmak için tüm ince ayar işleri hakkında bilgi toplayacak, en sonuncusunu seçecek ve ardından model adını alacağız.
result = client.fine_tuning.jobs.list()# Retrieve the fine tuned model
fine_tuned_model = result.data[0].fine_tuned_model
print(fine_tuned_model)Altyapı:
Sohbet tamamlama işlevine ince ayarlı model adını, doğru bir sistem istemi içeren mesajları ve veri kümesinden bir örneği vererek yanıt üretin.
completion = client.chat.completions.create(
model = fine_tuned_model,
messages=[{"role":"system","content":"Given a social media post, classify whether it indicates 'stress' or 'non-stress'."},{"role":"user","content":"Just went to my first homecoming, and they played a song I've always wanted to dance to at an official dance. Sorry for the terrible quality, but my happiness in this moment couldn't be exaggerated!"}])print(completion.choices[0].message.content)Altyapı:
Modelinizden memnun değilseniz, aşağıdaki komutu kullanarak her zaman silebilirsiniz. Biz bunu yapmayacağız çünkü önce ek model değerlendirmeleri yapmamız gerekiyor.
# Delete a fine-tuned model (must be an owner of the org the model was created in)
client.models.delete(fine_tuned_model)Altyapı:
Playground Kullanarak İnce Ayarlı Modele Erişim
İnce ayarlı modele erişmenin ve onu çeşitli istemlerde daha verimli şekilde denemenin başka bir yolu daha vardır.
OpenAI gösterge paneline gidin, "Fine-tuning" sekmesine tıklayın, son çalıştırılan işi seçin ve sağ altta bulunan "Playground" düğmesine tıklayın.
Sizi sohbet botu uygulamasına götürecektir. Burada bir sistem istemi sağlayabilir ve örnek Reddit gönderisini yazmaya başlayabilirsiniz.
Daha iyi bir analiz için aynı istemi çalıştırıp başka bir modelle de karşılaştırabilirsiniz.
Model Değerlendirme
Modeli ince ayarladık ve yeterince iyi olduğunu düşünüyoruz. Ancak baştan beri zaten daha iyi olup olmadığını düşündünüz mü? Ayrıntılı bir önce-sonra karşılaştırması yapmadık.
Bu bölümde, temel modeli kullanarak doğrulama verilerinin etiketlerini tahmin edeceğiz ve ardından bunu ince ayarlı modelle karşılaştıracağız. Her iki modeli de doğruluk, sınıflandırma raporu ve karmaşıklık (confusion) metriklerine göre karşılaştıracağız.
İnce ayardan önce model değerlendirmesi
predict işlevini oluşturun; bu işlev, veri kümesini ve model adını girdi olarak alıp tahmin edilen etiketlerin bir listesini üretir. Veri kümesindeki aynı sistem iletilerini ve gönderi başlıklarını kullanır.
defpredict(test, model):
y_pred =[]
categories =["non-stress","stress"]for index, row in test.iterrows():
response = client.chat.completions.create(
model=model,
messages=[{"role":"system","content":"Given a social media post, classify whether it indicates 'stress' or 'non-stress'.",},{"role":"user","content": row["title"]},],)
answer = response.choices[0].message.content
# Determine the predicted categoryfor category in categories:if category.lower()in answer.lower():
y_pred.append(category)breakelse:
y_pred.append("none")return y_predAltyapı:
Ardından, tahmin edilen ve gerçek etiketleri kullanarak doğruluk skoru, sınıflandırma raporu ve karmaşıklık metrikleri üretecek evaluate işlevini oluşturacağız.
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix
import numpy as np
defevaluate(y_true, y_pred):
labels =["non-stress","stress"]
mapping ={label: idx for idx, label inenumerate(labels)}defmap_func(x):return mapping.get(
x,-1)# Map to -1 if not found, but should not occur with correct data
y_true_mapped = np.vectorize(map_func)(y_true)
y_pred_mapped = np.vectorize(map_func)(y_pred)# Calculate accuracy
accuracy = accuracy_score(y_true=y_true_mapped, y_pred=y_pred_mapped)print(f"Accuracy: {accuracy:.3f}")# Generate accuracy report
unique_labels =set(y_true_mapped)# Get unique labelsfor label in unique_labels:
label_indices =[
i for i inrange(len(y_true_mapped))if y_true_mapped[i]== label
]
label_y_true =[y_true_mapped[i]for i in label_indices]
label_y_pred =[y_pred_mapped[i]for i in label_indices]
label_accuracy = accuracy_score(label_y_true, label_y_pred)print(f"Accuracy for label {labels[label]}: {label_accuracy:.3f}")# Generate classification report
class_report = classification_report(
y_true=y_true_mapped,
y_pred=y_pred_mapped,
target_names=labels,
labels=list(range(len(labels))),)print("\nClassification Report:")print(class_report)# Generate confusion matrix
conf_matrix = confusion_matrix(
y_true=y_true_mapped, y_pred=y_pred_mapped, labels=list(range(len(labels))))print("\nConfusion Matrix:")print(conf_matrix)Altyapı:
predict işlevine doğrulama veri kümesini ve temel model adını verin. Ardından, tahmin edilen ve gerçek etiketleri evaluate işlevine sağlayarak bir model değerlendirme raporu oluşturun.
Temel modelimiz metni sınıflandırmada oldukça iyi. %92,5 doğruluk elde ettik.
Accuracy:0.925
Accuracy for label non-stress:0.947
Accuracy for label stress:0.905
Classification Report:
precision recall f1-score support
non-stress 0.900.950.9219
stress 0.950.900.9321
accuracy 0.9340
macro avg 0.930.930.9240
weighted avg 0.930.930.9340
Confusion Matrix:[[181][219]]Altyapı:
İnce ayardan sonra model değerlendirmesi
Şimdi predict işlevini ince ayarlı model adıyla kullanarak stres etiketleri üretelim. Ardından, ayrıntılı model değerlendirme raporunu üretmek için tahmin edilen ve gerçek etiketleri kullanabiliriz.
Modelimizin performansı iyileşti. %97,5 doğruluk elde ettik; bu kayda değer bir artış.
Accuracy:0.975
Accuracy for label non-stress:1.000
Accuracy for label stress:0.952
Classification Report:
precision recall f1-score support
non-stress 0.951.000.9719
stress 1.000.950.9821
accuracy 0.9740
macro avg 0.970.980.9740
weighted avg 0.980.970.9840
Confusion Matrix:[[190][120]]Altyapı:
Belirli görevlerde ince ayar doğruluğu önemli ölçüde artırabilir. Bu sadece örnek bir testti; ancak gerçek dünya projelerinde ince ayar, sınıflandırma görevleri, stil verme ve yapılandırılmış çıktı gibi alanlarda modelin doğruluğunu ve performansını iyileştirir.
Yukarıdaki kodu çalıştırırken sorun yaşıyorsanız, lütfen DataLab çalışma alanına bakın: GPT-4 Mini’yi İnce Ayarlama.
Sıradaki adım, bu ince ayarlı modeli kullanarak düzgün bir yapay zeka uygulaması oluşturmaktır. Bunu, şu kod eşliğini takip ederek öğrenebilirsiniz: GPT-4o ile Yapay Zeka Asistanları Oluşturma.
Sonuç
Bu öğreticide, GPT-4o mini modelini metinleri "stres" ve "stres değil" etiketlerine sınıflandıracak şekilde başarıyla ince ayarladık. Ardından bu ince ayarlı modele OpenAI API ve OpenAI playground üzerinden erişerek pratik uygulama ve ileri testler gerçekleştirdik.
İnce ayarlı modelin değerlendirmesi, temel modelle karşılaştırıldığında çeşitli metriklerde sınıflandırma performansında bir iyileşme göstererek değerli içgörüler sundu. Bu süreç, özellikle metin sınıflandırma gibi görevlerde daha güvenilir ve doğru çıktılar elde etmek için ince ayarın önemini vurguladı.
Ücretsiz, açık kaynaklı bir model kullanmak istiyorsanız, Llama 3.2’yi İnce Ayarlama ve Yerelde Kullanma: Adım Adım Kılavuz adlı mükemmel bir eğitimimiz var. Bu kılavuzda, en yeni Llama modelini nasıl ince ayarlayacağınızı ve dizüstü bilgisayarınızda yerel kullanım için GGUF formatına nasıl dönüştüreceğinizi gösteriyoruz.
Sertifikalı bir veri bilimcisi olarak, yenilikçi makine öğrenimi uygulamaları oluşturmak için en son teknolojileri kullanmaya büyük ilgi duyuyorum. Konuşma tanıma, veri analizi ve raporlama, MLOps, konuşma yapay zekası ve NLP alanlarında güçlü bir geçmişe sahip olarak, gerçek bir etki yaratabilecek akıllı sistemler geliştirme becerilerimi geliştirdim. Teknik uzmanlığımın yanı sıra, karmaşık kavramları açık ve özlü bir dille ifade etme yeteneğine sahip, becerikli bir iletişimciyim. Sonuç olarak, veri bilimi konusunda aranan bir blog yazarı oldum ve giderek büyüyen veri profesyonelleri topluluğuyla görüşlerimi ve deneyimlerimi paylaşıyorum. Şu anda, içerik oluşturma ve düzenlemeye odaklanıyorum. Büyük dil modelleriyle çalışarak, hem işletmelerin hem de bireylerin verilerinden en iyi şekilde yararlanmalarına yardımcı olabilecek güçlü ve ilgi çekici içerikler geliştiriyorum.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
OpenAI API ile yapay zekâ destekli uygulamalar geliştirmeye başlayın. ChatGPT gibi popüler yapay zeka uygulamalarının temelini oluşturan işlevselliği öğrenin.
GPT-4o Mini modelini ince ayarlamaya başlamadan önce, model yanıtlarını özelleştirmek ve alanınıza özgü yanıtlar almak için istem mühendisliği, istem zincirleme ve fonksiyon çağrısı kullanmanızı öneririz.
İnce ayar; stil, ton veya biçimi ayarlamak istediğinizde gereklidir. Güvenilirliği ve doğruluğu artırmak, karmaşık istemleri ele almak veya istem mühendisliğiyle başarılamayan yeni bir görevi yerine getirmek için kullanılır.
Bu öğreticide GPT-4o Mini modelini metinleri "stres" ve "stres değil" etiketlerine sınıflandıracak şekilde ince ayarlayacağız. Ardından, ince ayarlı modele OpenAI API ve OpenAI playground üzerinden erişeceğiz. Son olarak, çeşitli sınıflandırma metriklerini kullanarak modeli ince ayardan önce ve sonra karşılaştırıp değerlendireceğiz.
Görsel: Yazar
GPT-4o Mini’ye Giriş
GPT-4o Mini, mevcut en maliyet etkin genel amaçlı büyük dil modelidir. MMLU’da %82 puan alır ve şu anda LMSYS lider panosunda sohbet tercihleri açısından Claude 3.5 Sonnet’i geride bırakır. Maliyet, milyon giriş belirteci başına 15 sent ve milyon çıkış belirteci başına 60 senttir; bu da GPT-3.5 Turbo’dan %60 daha ucuzdur.
GPT-4o mini şu anda girdi olarak metin ve görselleri destekler. Modelin bağlam penceresi 128K belirteçtir, istek başına 16K’a kadar çıktı belirteci destekler ve Ekim 2023’e kadar bilgiye sahiptir. GPT-4o Mini, GPT-4o belirteçleyicisini kullandığı için İngilizce olmayan metinleri de işleyebilir. Düşük maliyetle iki dünyanın en iyi yanlarını elde ederiz.
Kullanım senaryoları, sohbet tamamlama API’si ve GPT-4o Mini’nin ayrıntılı kıyaslamaları hakkında bilgi edinmek için blog yazımızı okuyun: GPT-4o Mini Nedir?
OpenAI API’sini Kurma
OpenAI web sitesine gidip bir hesap oluşturun. İnce ayar maliyetlidir ve GPT-4o Mini’yi API üzerinden kullanmak için hesabınıza bağlı bir ödeme yöntemi olması gerekir. Aksaklıkları önlemek için, modele ince ayar denemeden önce hesabınızda en az 10 USD kredi bakiyesi bulunduğundan emin olun.
Ana gösterge panosuna gidin, “API keys” sekmesine tıklayın ve OpenAI API gizli anahtarını oluşturun.
Kod düzenleyicisi olarak DataCamp’in DataLab’ını kullanıyoruz. OpenAI API anahtarı çevre değişkenini ayarlamak için ortam sekmesine gidip çevre değişkeni seçeneğine tıklayın. Ardından, API anahtarı için çevre değişkenini ekleyip aşağıda gösterildiği gibi etkinleştirin.
GPT-4o Mini’ye erişmek için OpenAI Python paketini kurun.
OpenAI API anahtarını kullanarak istemciyi oluşturun ve örnek istemle bir yanıt üretin. Sohbet tamamlama işlevi model adını ve sözlük listesi biçiminde mesajları ister.
OpenAI API’miz tamamen kuruldu ve ince ayar işini başlatmaya hazırız.
OpenAI’nin API’sinde yeni misiniz? Durumu en iyi modelleri birkaç satır kodla nasıl kullanacağınızı anlamak için GPT-4o API Eğitimi: OpenAI’nin API’sine Başlarken başlıklı basit ve ayrıntılı öğreticiyi izleyebilirsiniz.
GPT-4o Mini’yi İnce Ayarlama
Bu bölümde, Kaggle’daki Stress Detection from the Social Media Articles veri kümesi üzerinde GPT-4o Mini modelini ince ayarlayacağız. Veri kümesi Reddit ve Twitter gönderilerini içerir ve bunları stres ve stres değil etiketlerine ayırır.
Veri kümesini oluşturma
Şimdi veri kümesini yükleyip işleyeceğiz.
Not: Sistem istemi, kullanıcı sorgusu ve yanıttan oluşan doğru veri kümesi biçimini sağladığınızdan emin olun. Yanıt, etiket olacaktır.
Çıktı:
Veri kümesini yükleme
Şimdi ince ayar için hem eğitim hem doğrulama veri kümelerini yüklemek üzere OpenAI istemcisini kullanacağız.
OpenAI API önce veri kümesini doğrular, ardından veri kümelerini yükleyip modeli ince ayarlamak için kullanabileceğimiz metaverileri üretir.
Veri kümesinin buluta başarıyla yüklendiğini kontrol etmek için Gösterge Paneline gidip “Storage” sekmesine tıklayın. Orada iki dosya görünecek ve kullanıma hazır olacaktır.
İnce ayar işini başlatma
İstemci API’sini kullanarak ince ayar işini oluşturun. İnce ayar işlevi, eğitim veri kümesi dosya kimliği, doğrulama veri kümesi dosya kimliği, model adı ve hiperparametreleri gerektirir. Modelimizi üç epoch boyunca ince ayarlayacağız. Model performansını artırmak için her zaman tam veri kümesinde en az 5 epoch ile eğitim yapabilirsiniz.
İşlevi çalıştırdığımızda ince ayar işi başlayacak ve günlükler görüntülenecektir.
Gösterge panelinde “Fine-tuning” sekmesine ve iş kimliğine tıklayarak ince ayar işinin durumunu görüntüleyebiliriz.
Ya da
jobs.retrieveişlevini kullanarak ince ayar işinin durumunu kontrol edebiliriz.Çıktı:
Kayıp azalıyor gibi görünmüyorsa,
jobs.cancelişlevini kullanarak işi her zaman iptal edebilirsiniz.İnce ayar işi tamamlandığında, ince ayarlı modelin kullanıma hazır olduğunu bildiren bir e-posta alacaksınız.
API ile İnce Ayarlı Modele Erişim
İnce ayarlı modele erişmek için, ince ayarlı modelin adını almamız gerekir. Bunu yapmak için tüm ince ayar işleri hakkında bilgi toplayacak, en sonuncusunu seçecek ve ardından model adını alacağız.
Bu bizim ince ayarlı model adımızdır.
Sohbet tamamlama işlevine ince ayarlı model adını, doğru bir sistem istemi içeren mesajları ve veri kümesinden bir örneği vererek yanıt üretin.
Başarılı! Etiketi doğru tahmin ettim.
Modelinizden memnun değilseniz, aşağıdaki komutu kullanarak her zaman silebilirsiniz. Biz bunu yapmayacağız çünkü önce ek model değerlendirmeleri yapmamız gerekiyor.
Playground Kullanarak İnce Ayarlı Modele Erişim
İnce ayarlı modele erişmenin ve onu çeşitli istemlerde daha verimli şekilde denemenin başka bir yolu daha vardır.
OpenAI gösterge paneline gidin, "Fine-tuning" sekmesine tıklayın, son çalıştırılan işi seçin ve sağ altta bulunan "Playground" düğmesine tıklayın.
Sizi sohbet botu uygulamasına götürecektir. Burada bir sistem istemi sağlayabilir ve örnek Reddit gönderisini yazmaya başlayabilirsiniz.
Daha iyi bir analiz için aynı istemi çalıştırıp başka bir modelle de karşılaştırabilirsiniz.
Model Değerlendirme
Modeli ince ayarladık ve yeterince iyi olduğunu düşünüyoruz. Ancak baştan beri zaten daha iyi olup olmadığını düşündünüz mü? Ayrıntılı bir önce-sonra karşılaştırması yapmadık.
Bu bölümde, temel modeli kullanarak doğrulama verilerinin etiketlerini tahmin edeceğiz ve ardından bunu ince ayarlı modelle karşılaştıracağız. Her iki modeli de doğruluk, sınıflandırma raporu ve karmaşıklık (confusion) metriklerine göre karşılaştıracağız.
İnce ayardan önce model değerlendirmesi
predictişlevini oluşturun; bu işlev, veri kümesini ve model adını girdi olarak alıp tahmin edilen etiketlerin bir listesini üretir. Veri kümesindeki aynı sistem iletilerini ve gönderi başlıklarını kullanır.Ardından, tahmin edilen ve gerçek etiketleri kullanarak doğruluk skoru, sınıflandırma raporu ve karmaşıklık metrikleri üretecek
evaluateişlevini oluşturacağız.predictişlevine doğrulama veri kümesini ve temel model adını verin. Ardından, tahmin edilen ve gerçek etiketlerievaluateişlevine sağlayarak bir model değerlendirme raporu oluşturun.Temel modelimiz metni sınıflandırmada oldukça iyi. %92,5 doğruluk elde ettik.
İnce ayardan sonra model değerlendirmesi
Şimdi
predictişlevini ince ayarlı model adıyla kullanarak stres etiketleri üretelim. Ardından, ayrıntılı model değerlendirme raporunu üretmek için tahmin edilen ve gerçek etiketleri kullanabiliriz.Modelimizin performansı iyileşti. %97,5 doğruluk elde ettik; bu kayda değer bir artış.
Belirli görevlerde ince ayar doğruluğu önemli ölçüde artırabilir. Bu sadece örnek bir testti; ancak gerçek dünya projelerinde ince ayar, sınıflandırma görevleri, stil verme ve yapılandırılmış çıktı gibi alanlarda modelin doğruluğunu ve performansını iyileştirir.
Yukarıdaki kodu çalıştırırken sorun yaşıyorsanız, lütfen DataLab çalışma alanına bakın: GPT-4 Mini’yi İnce Ayarlama.
Sıradaki adım, bu ince ayarlı modeli kullanarak düzgün bir yapay zeka uygulaması oluşturmaktır. Bunu, şu kod eşliğini takip ederek öğrenebilirsiniz: GPT-4o ile Yapay Zeka Asistanları Oluşturma.
Sonuç
Bu öğreticide, GPT-4o mini modelini metinleri "stres" ve "stres değil" etiketlerine sınıflandıracak şekilde başarıyla ince ayarladık. Ardından bu ince ayarlı modele OpenAI API ve OpenAI playground üzerinden erişerek pratik uygulama ve ileri testler gerçekleştirdik.
İnce ayarlı modelin değerlendirmesi, temel modelle karşılaştırıldığında çeşitli metriklerde sınıflandırma performansında bir iyileşme göstererek değerli içgörüler sundu. Bu süreç, özellikle metin sınıflandırma gibi görevlerde daha güvenilir ve doğru çıktılar elde etmek için ince ayarın önemini vurguladı.
Ücretsiz, açık kaynaklı bir model kullanmak istiyorsanız, Llama 3.2’yi İnce Ayarlama ve Yerelde Kullanma: Adım Adım Kılavuz adlı mükemmel bir eğitimimiz var. Bu kılavuzda, en yeni Llama modelini nasıl ince ayarlayacağınızı ve dizüstü bilgisayarınızda yerel kullanım için GGUF formatına nasıl dönüştüreceğinizi gösteriyoruz.