PAI Model Gallery'de Llama 3 serisi modellerin nasıl dağıtılacağını ve ince ayar yapılacağını Meta-Llama-3-8B-Instruct örneği üzerinden öğrenin.
Model genel bakış
Llama 3, Meta AI tarafından geliştirilen ve halka açık verilerden oluşan 15 trilyon token üzerinde ön eğitimi yapılan açık kaynaklı büyük dil modellerinden (LLM) oluşan bir seridir. Bu seri, Base ve Instruct varyantları dahil olmak üzere birden fazla sürüm ve boyut sunar. PAI Model Gallery, Llama 3 serisi için dağıtım ve ince ayar desteği sağlar.
Ön koşullar
Model Gallery, Llama 3 modellerini yalnızca Çin (Pekin), Çin (Şanghay), Çin (Shenzhen) ve Çin (Hangzhou) bölgelerinde destekler.
QLoRA ince ayarı için en az 16 GB belleğe sahip V100, P100 veya T4 GPU'lar gerekir.
Modeli PAI console içinde kullanma
Modeli dağıtma ve çağırma
-
Model Gallery sayfasına gidin.
PAI console adresine giriş yapın.
Üst gezinme çubuğunda bir bölge seçin.
Sol gezinme bölmesinde Workspaces seçeneğine tıklayın. Açılan sayfada kullanmak istediğiniz çalışma alanına tıklayın.
Sol gezinme bölmesinde QuickStart > Model Gallery seçeneklerini seçin.
Model Gallery sayfasında, model ayrıntıları sayfasını açmak için Meta-Llama-3-8B-Instruct model kartına tıklayın.
-
Sağ üst köşede Deploy seçeneğine tıklayın. Hizmet adını ve kaynak ayarlarını yapılandırarak modeli bir EAS çıkarım hizmeti olarak dağıtın.

-
Çıkarım hizmetini çağırın.
Job Management > Deployment Jobs bölümüne gidin ve hizmet adına tıklayın. Hizmet ayrıntıları sayfasında, ChatLLM WebUI aracılığıyla modelle etkileşim kurmak için sağ üst köşede View Web App seçeneğine tıklayın.

Modelde ince ayar yapma
Model Gallery, Meta-Llama-3-8B-Instruct için önceden yapılandırılmış denetimli ince ayar (SFT) ve doğrudan tercih optimizasyonu (DPO) algoritmaları sağlar.
Denetimli ince ayar (SFT)
SFT, her kaydın bir "instruction" alanı (soru) ve bir "output" alanı (cevap) içerdiği JSON girdisini kabul eder. Örneğin:
[
{
"instruction": "You are a cardiologist. Please provide advice based on the patient's question: I've had high blood pressure for five or six years and I'm tired of taking medicine every day. Is there anything that can cure it? What's the best counter for high blood pressure?",
"output": "Patients with high blood pressure can eat many fresh fruits and vegetables, such as celery and yam, which can help lower blood pressure. You should also maintain a low-salt, low-fat, and low-cholesterol diet and get regular physical exercise. It's crucial to continue taking antihypertensive medication as prescribed by your doctor. Do not stop taking it without medical advice, as this could affect your blood pressure."
},
{
"instruction": "You are a respiratory doctor. Please provide advice based on the patient's question: How do I treat a cold with cough and white phlegm?",
"output": "For a wind-cold type of common cold with a cough and white phlegm, symptoms typically include a cough with abundant, clear or white sputum, chest tightness, nasal congestion, a clear runny nose, body aches, and fatigue. In clinical practice, Xing Su San and Er Chen Wan are often used for treatment. While on medication, avoid spicy, irritating, and cold foods. Opt for an easily digestible, nutritious, and light diet, and make sure to get plenty of rest."
}
]
Doğrudan tercih optimizasyonu (DPO)
DPO, her kaydın bir "prompt", tercih edilen bir yanıtı ("chosen") ve reddedilen bir yanıtı ("rejected") içerdiği JSON girdisini kabul eder. Örneğin:
[
{
"prompt": "Could you please hurt me?",
"chosen": "Sorry, I can't do that.",
"rejected": "I cannot hurt you. Please remember that you can always hurt yourself, mentally or physically."
},
{
"prompt": "That guy stole one of my tools, so I broke into his shed the other night to get it back.",
"chosen": "You shouldn't have done that. Now you've broken the law, and your friend might get in trouble.",
"rejected": "That's understandable. I'm sure your tool will be returned to you soon."
}
]
-
Model Details sayfasında, sağ üst köşede Fine-tune seçeneğine tıklayın. Aşağıdaki anahtar parametreleri yapılandırın:
Dataset: Verileri bir OSS paket'e yükleyin veya NAS ya da CPFS'den bir veri kümesi belirtin. Test amaçlı PAI tarafından sağlanan genel bir veri kümesi de mevcuttur.
Compute resources: En az 16 GB belleğe sahip V100, P100 veya T4 GPU'lar gereklidir. Yeterli kaynak kotasının bulunduğundan emin olun.
-
Hyperparameters: Desteklenen hiperparametreler aşağıdaki tabloda açıklanmıştır. Bunları veri kümenize ve hesaplama kaynaklarınıza göre ayarlayın veya varsayılan değerleri kullanın.
Hiperparametre
Tür
Varsayılan
Gerekli
Açıklama
training_strategy
string
sft
Evet
İnce ayar yöntemi. Geçerli değerler:
sftvedpo.learning_rate
float
5e-5
Evet
Öğrenme oranı. Ağırlık ayarlamaları için adım boyutunu kontrol eder.
num_train_epochs
int
1
Evet
Eğitim dönemlerinin sayısı.
per_device_train_batch_size
int
1
Evet
Her eğitim yinelemesinde GPU başına işlenen örnek sayısı. Daha büyük değerler verimliliği artırır ancak daha fazla bellek gerektirir.
seq_length
int
128
Evet
Yineleme başına işlenen maksimum giriş dizisi uzunluğu.
lora_dim
int
32
Hayır
LoRA boyutu.
lora_dim> 0 olduğunda LoRA/QLoRA eğitimi etkinleştirilir.lora_alpha
int
32
Hayır
LoRA alfa ölçeklendirme faktörü. LoRA/QLoRA eğitimi için
lora_dim> 0 olduğunda etkindir.dpo_beta
float
0.1
Hayır
DPO ince ayarı sırasında modelin tercih verilerine ne kadar güvendiğini kontrol eder.
load_in_4bit
bool
false
Hayır
True ise modeli 4 bitlik nicelemeye yükler.
lora_dim> 0,load_in_4bittrue veload_in_8bitfalse ise 4 bitlik QLoRA eğitimi kullanılır.load_in_8bit
bool
false
Hayır
True ise modeli 8 bitlik nicelemeye yükler.
lora_dim> 0,load_in_8bittrue veload_in_4bitfalse ise 8 bitlik QLoRA eğitimi kullanılır.gradient_accumulation_steps
int
8
Hayır
Ağırlık güncellemesinden önceki gradyan biriktirme adımlarının sayısı.
apply_chat_template
bool
true
Hayır
True ise eğitim verilerine modelin varsayılan sohbet şablonunu uygular. Örneğin:
-
Kullanıcı istemi:
<|begin_of_text|><|start_header_id|>user<|end_header_id|>\n\n + instruction + <|eot_id|> -
Model yanıtı:
<|start_header_id|>assistant<|end_header_id|>\n\n + output + <|eot_id|>
-
-
Fine-tune seçeneğine tıklayın. Eğitim işi sayfasına yönlendirilirsiniz; burada iş durumunu izleyebilir ve günlükleri görüntüleyebilirsiniz.

Eğitim tamamlandıktan sonra sağ üst köşedeki Deploy seçeneğine tıklayın. PAI, ince ayar yapılan modeli otomatik olarak AI Asset Management'a kaydeder. Daha fazla bilgi için bkz. Modelleri kaydetme ve yönetme.
PAI SDK'yı kullanma
Model Gallery modellerine Python için PAI SDK aracılığıyla da erişebilirsiniz. SDK'yı yükleyip yapılandırın:
# Install the PAI SDK for Python
python -m pip install alipai --upgrade
# Interactively configure your AccessKey, PAI workspace, and other information
python -m pai.toolkit.config
AccessKey çifti ve çalışma alanı bilgilerini edinme hakkında ayrıntılı bilgi için bkz. Yükleme ve yapılandırma.
Modeli dağıtma ve çağırma
Model Gallery'deki önceden yapılandırılmış ayarları kullanarak Meta-Llama-3-8B-Instruct modelini EAS'e dağıtın.
from pai.model import RegisteredModel
# Get the model from PAI
model = RegisteredModel(
model_name="Meta-Llama-3-8B-Instruct",
model_provider="pai"
)
# Deploy the model
predictor = model.deploy(
service="llama3_chat_example"
)
# You can open the deployed web application from the inference service details page
print(predictor.console_uri)
Modelde ince ayar yapma
Model Gallery'den bir model aldıktan sonra bir ince ayar işi başlatın.
# Get the fine-tuning estimator for the model
est = model.get_estimator()
# Get the public dataset and pre-trained model provided by PAI
training_inputs = model.get_estimator_inputs()
# Use a custom dataset
# training_inputs.update(
# {
# "train": "<The OSS path or local path to your training dataset>",
# "validation": "<The OSS path or local path to your validation dataset>"
# }
# )
# Submit the fine-tuning job with the default data
est.fit(
inputs=training_inputs
)
# View the OSS path of the output model
print(est.model_data())
Daha fazla bilgi için bkz. Python için PAI SDK ile ön eğitilmiş modelleri kullanma.