Mistral AI baru-baru ini meluncurkan keluarga model penalaran baru bernama Magistral. Model-model ini dirancang untuk unggul di domain tertentu, memberikan penalaran yang transparan, dan mendukung banyak bahasa.
Dalam tutorial ini, kita akan fokus pada fine-tuning Magistral Small pada dataset penalaran MCQ Medis. Magistral Small adalah varian open-source dari keluarga Magistral dengan 24 miliar parameter. Model ini berbasis versi 3.1 (2503) dan memiliki kemampuan penalaran yang ditingkatkan.
Berikut langkah-langkah yang akan kita ikuti dalam tutorial ini:
Menyiapkan lingkungan dan memasang semua dependensi yang diperlukan.
Memuat model dan tokenizer Magistral Small pra-latih untuk persiapan kustomisasi.
Memuat dataset MCQ medis dan memprosesnya agar siap untuk pelatihan.
Melakukan inferensi model sebelum fine-tuning untuk menetapkan baseline sebagai pembanding.
Mengonfigurasi parameter model dan pelatihan, lalu memulai proses fine-tuning.
Membandingkan hasil sebelum dan sesudah fine-tuning untuk mengevaluasi peningkatan.
Menyimpan model dan tokenizer hasil fine-tuning, serta mengunggahnya ke repositori Hugging Face untuk dibagikan dan digunakan.
1. Penyiapan
Awalnya saya mencoba menjalankan skrip fine-tuning di Kaggle, tetapi bahkan dengan kuantisasi 4-bit, GPU gratisnya tidak memadai untuk tugas ini. Karena keterbatasan tersebut, saya beralih ke RunPod dan memilih instance GPU A100 SXM yang menawarkan performa lebih cepat dan VRAM lebih besar.
1. Buka “Pods” di RunPod, pilih image PyTorch terbaru, pilih mesin A100 SXM, dan deploy pod Anda.
5. Masuk ke Hugging Face menggunakan access token Anda (yang telah disimpan sebelumnya). Ini memungkinkan Anda memuat model berpagar dan nantinya mengunggah model serta tokenizer hasil fine-tuning:
from huggingface_hub import login
import os
hf_token = os.environ.get("HF_TOKEN")
login(hf_token)Didukung oleh
2. Memuat Model dan Tokenizer
Kita akan menggunakan versi Magistral-Small yang dikuantisasi 4-bit dari Unsloth untuk menghemat ruang penyimpanan dan VRAM. Pendekatan ini jauh lebih cepat dan efisien dibandingkan mengunduh model presisi penuh dan melakukan kuantisasi secara manual.
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# Load tokenizer & model
model_dir ="unsloth/Magistral-Small-2506-bnb-4bit"
tokenizer = AutoTokenizer.from_pretrained(model_dir, use_fast=True)
model = AutoModelForCausalLM.from_pretrained(
model_dir,
device_map="auto",
torch_dtype=torch.bfloat16,)
model.config.use_cache =False
model.config.pretraining_tp =1Didukung oleh
Setelah memuat model, periksa penggunaan memori GPU Anda.
Tentukan templat prompt yang menginstruksikan model untuk menjawab dengan salah satu opsi yang disediakan, menyertakan penalaran di dalam tag <analysis></analysis>, dan jawaban akhir di dalam tag <answer></answer>.
train_prompt_style ="""
Please answer with one of the options in the bracket. Write reasoning in between <analysis></analysis>. Write the answer in between <answer></answer>.
### Question:
{}
### Response:
{}"""Didukung oleh
Buat fungsi Python untuk memformat setiap contoh sesuai gaya prompt dan menambahkan token EOS jika belum ada.
EOS_TOKEN = tokenizer.eos_token # Must add EOS_TOKENdefformatting_prompts_func(examples):
inputs = examples["input"]
outputs = examples["output"]
texts =[]for question, response inzip(inputs, outputs):# Remove the "Q:" prefix from the question
question = question.replace("Q:","")# Append the EOS token to the response if it's not already thereifnot response.endswith(tokenizer.eos_token):
response += tokenizer.eos_token
text = train_prompt_style.format(question, response)
texts.append(text)return{"text": texts}Didukung oleh
Kemudian, unduh dan muat dataset mamachang/medical-reasoning dari Hugging Face. Terapkan fungsi pemformatan untuk membuat kolom "text" baru dengan prompt terstruktur.
from datasets import load_dataset
dataset = load_dataset("mamachang/medical-reasoning",
split="train",
trust_remote_code=True,)
dataset = dataset.map(
formatting_prompts_func,
batched=True,)print(dataset["text"][10])Didukung oleh
Kolom "text" berisi system prompt, pertanyaan, analisis, dan jawaban, semuanya dalam format yang diperlukan.
Karena SFTTrainer baru tidak menerima tokenizer secara langsung, konversikan tokenizer menjadi data collator untuk language modeling.
from transformers import DataCollatorForLanguageModeling
data_collator = DataCollatorForLanguageModeling(
tokenizer=tokenizer,
mlm=False)Didukung oleh
4. Inferensi Model Sebelum Fine-Tuning
Sebelum fine-tuning, penting untuk mengevaluasi kinerja model dasar pada dataset Anda. Baseline ini akan membantu Anda membandingkan hasil secara objektif setelah fine-tuning dan mengukur peningkatan.
Tentukan templat prompt untuk inferensi yang mencakup system prompt, bagian pertanyaan (dengan placeholder), dan bagian respons.
inference_prompt_style ="""
Please answer with one of the options in the bracket. Write reasoning in between <analysis></analysis>. Write the answer in between <answer></answer>.
### Question:
{}
### Response:
<analysis>
"""Didukung oleh
Pilih pertanyaan ke-11 dari dataset Anda, hapus prefiks yang tidak diperlukan, dan lakukan tokenisasi untuk input model
Pada uji baseline ini, analisis yang dihasilkan model terlalu panjang dan sering kali gagal menghasilkan jawaban yang benar atau ringkas.
5. Menyiapkan Model
Pada bagian ini, kita akan menyiapkan model untuk fine-tuning.
Kita akan menggunakan LoRA (Low-Rank Adaptation) untuk melakukan fine-tuning model, yang akan secara signifikan mengurangi jejak memori dan mempercepat proses pelatihan karena kita hanya menyetel subset kecil parameter model.
from peft import LoraConfig, get_peft_model
# LoRA config
peft_config = LoraConfig(
lora_alpha=16,# Scaling factor for LoRA
lora_dropout=0.05,# Add slight dropout for regularization
r=64,# Rank of the LoRA update matrices
bias="none",# No bias reparameterization
task_type="CAUSAL_LM",# Task type: Causal Language Modeling
target_modules=["q_proj","k_proj","v_proj","o_proj","gate_proj","up_proj","down_proj",],# Target modules for LoRA)
model = get_peft_model(model, peft_config)Didukung oleh
Kelas TrainingArguments memungkinkan Anda mengonfigurasi ukuran batch, optimizer, laju pembelajaran, dan hiperparameter pelatihan lainnya. SFTTrainer dari pustaka TRL menyederhanakan supervised fine-tuning dengan mengintegrasikan model, dataset, data collator, argumen pelatihan, dan konfigurasi LoRA ke dalam satu alur kerja.
from trl import SFTTrainer
from transformers import TrainingArguments
# Training Arguments
training_arguments = TrainingArguments(
output_dir="Magistral-Medical-Reasoning",
per_device_train_batch_size=1,
per_device_eval_batch_size=1,
gradient_accumulation_steps=2,
optim="paged_adamw_32bit",
num_train_epochs=1,
logging_steps=0.2,
warmup_steps=10,
logging_strategy="steps",
learning_rate=2e-4,
fp16=False,
bf16=False,
group_by_length=True,
report_to="none")# Initialize the Trainer
trainer = SFTTrainer(
model=model,
args=training_arguments,
train_dataset=dataset,
peft_config=peft_config,
data_collator=data_collator,)Didukung oleh
6. Pelatihan Model
Untuk menghindari kesalahan Out of Memory (OOM), penting untuk membersihkan garbage collector Python dan mengosongkan cache CUDA sebelum memulai pelatihan. Ini memastikan memori yang tidak terpakai dari operasi sebelumnya dilepas.
Kemudian, mulai proses pelatihan menggunakan SFTTrainer.
import gc, torch
gc.collect()
torch.cuda.empty_cache()
model.config.use_cache =False
trainer.train()Didukung oleh
Selama pelatihan, pemanfaatan GPU mencapai 100%, dan tersedia VRAM yang cukup untuk memuat model lain secara paralel.
Proses pelatihan memakan waktu sekitar 1 jam 10 menit, dengan training loss yang menurun stabil di setiap langkah, menunjukkan pembelajaran yang efektif.
7. Inferensi Model Setelah Fine-Tuning
Kita akan mengevaluasi kinerja model yang telah di-fine-tune dengan menggunakan pertanyaan sampel ke-11 yang sama dari dataset. Pendekatan ini memungkinkan kita membandingkan hasil dengan model dasar dan menilai peningkatan yang dicapai melalui fine-tuning.
Kini model menghasilkan analisis yang ringkas dan akurat, serta jawabannya benar.
<analysis>
Analysis:
This is a prospective cohort study looking at the relationship between childhood diet and cardiovascular disease in adulthood. The key issue with the validity of this study is confounding. The researchers did not account for other factors that could influence cardiovascular disease risk in adulthood besides childhood diet.
To address confounding, the researchers should have stratified the analysis by potential confounders like family history, physical activity levels,and smoking status. This would allow them to see if the relationship between diet and disease persists even when accounting for these other variables.
Blinding, crossover, matching,and randomization do not address the main validity concern in this study design.</analysis><answer>
D: Stratification
</answer>Didukung oleh
Untuk validasi kinerja lebih lanjut, coba inferensi pada sampel lain.
Model terus memberikan jawaban yang akurat dan analisis yang terstruktur dengan baik, menunjukkan peningkatan yang konsisten bahkan hanya setelah satu epoch fine-tuning.
<analysis>
This is a clinical vignette describing a 55-year-old man with burning and shooting pain in his feet and lower legs that worsens at night. He has a history of type2 diabetes mellitus and hypertension.
The key findings are:- Burning and shooting pain in feet and lower legs
- Pain worsens at night
- History of type2 diabetes mellitus
This presentation is most consistent with diabetic peripheral neuropathy. The pain distribution, timing,and history of diabetes point towards a distal symmetric sensorimotor polyneuropathy as the etiology. The other options can be ruled out based on the clinical presentation.</analysis><answer>
D: Distal symmetric sensorimotor polyneuropathy
</answer>Didukung oleh
8. Menyimpan Model
Setelah fine-tuning, Anda dapat dengan mudah membagikan model dengan mendorongnya ke Hugging Face Hub. Ini membuatnya dapat diakses oleh orang lain untuk digunakan atau di-fine-tune lebih lanjut.
new_model_name ="kingabzpro/Magistral-Small-Medical-QA"
trainer.model.push_to_hub(new_model_name)
trainer.processing_class.push_to_hub(new_model_name)Didukung oleh
9. Memuat Model Hasil Fine-Tuning dari Hugging Face
Setelah fine-tuning dan menyimpan LoRA Anda ke Hugging Face Hub, Anda dapat dengan mudah memuatnya kembali untuk analisis lanjutan, inferensi, atau deployment sebagai server inferensi. Proses ini melibatkan pembersihan sesi saat ini, memuat model dasar dan adapter LoRA, serta menjalankan inferensi pada data baru. Anda dapat mempelajari lebih lanjut tentang Bekerja dengan Hugging Face Hub di kursus kami.
1. Sebelum memuat model baru, sebaiknya hapus objek model dan trainer yang ada serta bersihkan cache GPU untuk menghindari masalah memori.
2. Unduh model dasar dan adapter LoRA hasil fine-tuning Anda dari Hugging Face Hub, lalu gabungkan. Muat juga tokenizer.
del model
del trainer
torch.cuda.empty_cache()from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
from peft import PeftModel
import torch
# Base model
base_model_id ="unsloth/Magistral-Small-2506-bnb-4bit"# Your fine-tuned LoRA adapter repository
lora_adapter_id ="kingabzpro/Magistral-Small-Medical-QA"# Load base model
base_model = AutoModelForCausalLM.from_pretrained(
base_model_id,
device_map="auto",
torch_dtype=torch.bfloat16,
trust_remote_code=True,)# Attach the LoRA adapter
model = PeftModel.from_pretrained(
base_model,
lora_adapter_id,
device_map="auto",
trust_remote_code=True,)# Load tokenizer
tokenizer = AutoTokenizer.from_pretrained(base_model_id, trust_remote_code=True)Didukung oleh
# Inference example
prompt ="""
Please answer with one of the options in the bracket. Write reasoning in between <analysis></analysis>. Write the answer in between <answer></answer>.
### Question:
A research group wants to assess the relationship between childhood diet and cardiovascular disease in adulthood.
A prospective cohort study of 500 children between 10 to 15 years of age is conducted in which the participants' diets are recorded for 1 year and then the patients are assessed 20 years later for the presence of cardiovascular disease.
A statistically significant association is found between childhood consumption of vegetables and decreased risk of hyperlipidemia and exercise tolerance.
When these findings are submitted to a scientific journal, a peer reviewer comments that the researchers did not discuss the study's validity.
Which of the following additional analyses would most likely address the concerns about this study's design?
{'A': 'Blinding', 'B': 'Crossover', 'C': 'Matching', 'D': 'Stratification', 'E': 'Randomization'},
### Response:
<analysis>
"""
inputs = tokenizer([prompt + tokenizer.eos_token],
return_tensors="pt").to("cuda")
outputs = model.generate(
input_ids=inputs.input_ids,
attention_mask=inputs.attention_mask,
max_new_tokens=1200,
eos_token_id=tokenizer.eos_token_id,
use_cache=True,)
response = tokenizer.batch_decode(outputs, skip_special_tokens=True)print(response[0].split("### Response:")[1])Didukung oleh
4. Respons yang dihasilkan akurat dan sangat selaras dengan gaya serta struktur dataset Anda, menunjukkan bahwa model hasil fine-tuning siap untuk inferensi dan deployment di dunia nyata.
<analysis>
Analysis:
This is a prospective cohort study looking at the relationship between childhood diet and cardiovascular disease in adulthood. The key concern from the peer reviewer is about the study's validity.
To address concerns about validity, the researchers could perform additional analyses to control for confounding. Matching and stratification would help control for known confounders like socioeconomic status or family history. Crossover and blinding are not applicable to this observational study design. Randomization would not be possible since the study is observational.</analysis><answer>
D: Stratification
</answer>Didukung oleh
Jika Anda mengalami masalah saat menjalankan kode di atas, silakan merujuk ke notebook Jupyter fine-tuning-magistral.ipynb di Hugging Face.
Kesimpulan
Dalam panduan fine-tuning terpisah, kami membahas performa mode distilasi DeepSeek-R1-0528. Sementara DeepSeek-R1-0528 kesulitan beradaptasi dengan gaya spesifik dataset dan akurasinya, Magistral menunjukkan adaptasi yang mulus dan memberikan hasil yang kuat dengan upaya minimal.
Pengalaman ini memperkuat keyakinan saya bahwa Mistral AI dengan cepat muncul sebagai pemain terdepan di ranah AI, tidak hanya pada model bahasa namun juga di berbagai solusi lain, termasuk visi komputer.
Dalam panduan ini, kita berhasil melakukan fine-tuning model penalaran terbaru Mistral AI, Magistral, pada dataset MCQ medis.
Namun, penting untuk dicatat bahwa fine-tuning model besar seperti Magistral membutuhkan perangkat keras yang substansial, umumnya GPU dengan setidaknya 40GB VRAM, karena bahkan RTX 4090 mungkin tidak memadai untuk beberapa konfigurasi. Saya juga bereksperimen dengan kerangka kerja Unsloth dan versi model 4-bit-nya, tetapi tetap menemui masalah memori GPU.
Jika Anda mencari kursus praktis untuk memahami fine-tuning, jangan lewatkan Fine-Tuning With Llama 3.
Sebagai data scientist tersertifikasi, saya bersemangat memanfaatkan teknologi mutakhir untuk menciptakan aplikasi machine learning yang inovatif. Dengan latar belakang kuat di pengenalan ucapan, analisis dan pelaporan data, MLOps, conversational AI, dan NLP, saya mengasah keterampilan dalam mengembangkan sistem cerdas yang berdampak nyata. Selain keahlian teknis, saya juga komunikator andal yang mampu menyederhanakan konsep kompleks menjadi bahasa yang jelas dan ringkas. Karena itu, saya menjadi blogger yang dicari di bidang data science, membagikan wawasan dan pengalaman kepada komunitas profesional data yang terus berkembang. Saat ini, saya berfokus pada pembuatan dan penyuntingan konten, bekerja dengan large language model untuk mengembangkan konten yang kuat dan menarik agar membantu bisnis dan individu memaksimalkan data mereka.
Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Mistral AI baru-baru ini meluncurkan keluarga model penalaran baru bernama Magistral. Model-model ini dirancang untuk unggul di domain tertentu, memberikan penalaran yang transparan, dan mendukung banyak bahasa.
Dalam tutorial ini, kita akan fokus pada fine-tuning Magistral Small pada dataset penalaran MCQ Medis. Magistral Small adalah varian open-source dari keluarga Magistral dengan 24 miliar parameter. Model ini berbasis versi 3.1 (2503) dan memiliki kemampuan penalaran yang ditingkatkan.
Berikut langkah-langkah yang akan kita ikuti dalam tutorial ini:
1. Penyiapan
Awalnya saya mencoba menjalankan skrip fine-tuning di Kaggle, tetapi bahkan dengan kuantisasi 4-bit, GPU gratisnya tidak memadai untuk tugas ini. Karena keterbatasan tersebut, saya beralih ke RunPod dan memilih instance GPU A100 SXM yang menawarkan performa lebih cepat dan VRAM lebih besar.
1. Buka “Pods” di RunPod, pilih image PyTorch terbaru, pilih mesin A100 SXM, dan deploy pod Anda.
Sumber: My Pods
2. Edit pengaturan Pod untuk menambah ukuran disk container, dan tambahkan access token Hugging Face Anda untuk autentikasi.
Sumber: My Pods
3. Setelah pod berjalan, klik tombol Connect dan luncurkan instance JupyterLab untuk pengembangan interaktif.
4. Pasang semua paket Python yang diperlukan
5. Masuk ke Hugging Face menggunakan access token Anda (yang telah disimpan sebelumnya). Ini memungkinkan Anda memuat model berpagar dan nantinya mengunggah model serta tokenizer hasil fine-tuning:
2. Memuat Model dan Tokenizer
Kita akan menggunakan versi Magistral-Small yang dikuantisasi 4-bit dari Unsloth untuk menghemat ruang penyimpanan dan VRAM. Pendekatan ini jauh lebih cepat dan efisien dibandingkan mengunduh model presisi penuh dan melakukan kuantisasi secara manual.
Setelah memuat model, periksa penggunaan memori GPU Anda.
Seperti terlihat, hanya menggunakan 23GB VRam.
3. Memuat dan Memproses Dataset
Tentukan templat prompt yang menginstruksikan model untuk menjawab dengan salah satu opsi yang disediakan, menyertakan penalaran di dalam tag <analysis></analysis>, dan jawaban akhir di dalam tag <answer></answer>.
Buat fungsi Python untuk memformat setiap contoh sesuai gaya prompt dan menambahkan token EOS jika belum ada.
Kemudian, unduh dan muat dataset mamachang/medical-reasoning dari Hugging Face. Terapkan fungsi pemformatan untuk membuat kolom "text" baru dengan prompt terstruktur.
Kolom "text" berisi system prompt, pertanyaan, analisis, dan jawaban, semuanya dalam format yang diperlukan.
Karena SFTTrainer baru tidak menerima tokenizer secara langsung, konversikan tokenizer menjadi data collator untuk language modeling.
4. Inferensi Model Sebelum Fine-Tuning
Sebelum fine-tuning, penting untuk mengevaluasi kinerja model dasar pada dataset Anda. Baseline ini akan membantu Anda membandingkan hasil secara objektif setelah fine-tuning dan mengukur peningkatan.
Tentukan templat prompt untuk inferensi yang mencakup system prompt, bagian pertanyaan (dengan placeholder), dan bagian respons.
Pilih pertanyaan ke-11 dari dataset Anda, hapus prefiks yang tidak diperlukan, dan lakukan tokenisasi untuk input model
Pada uji baseline ini, analisis yang dihasilkan model terlalu panjang dan sering kali gagal menghasilkan jawaban yang benar atau ringkas.
5. Menyiapkan Model
Pada bagian ini, kita akan menyiapkan model untuk fine-tuning.
Kita akan menggunakan LoRA (Low-Rank Adaptation) untuk melakukan fine-tuning model, yang akan secara signifikan mengurangi jejak memori dan mempercepat proses pelatihan karena kita hanya menyetel subset kecil parameter model.
Kelas
TrainingArgumentsmemungkinkan Anda mengonfigurasi ukuran batch, optimizer, laju pembelajaran, dan hiperparameter pelatihan lainnya.SFTTrainerdari pustaka TRL menyederhanakan supervised fine-tuning dengan mengintegrasikan model, dataset, data collator, argumen pelatihan, dan konfigurasi LoRA ke dalam satu alur kerja.6. Pelatihan Model
Untuk menghindari kesalahan Out of Memory (OOM), penting untuk membersihkan garbage collector Python dan mengosongkan cache CUDA sebelum memulai pelatihan. Ini memastikan memori yang tidak terpakai dari operasi sebelumnya dilepas.
Kemudian, mulai proses pelatihan menggunakan
SFTTrainer.Selama pelatihan, pemanfaatan GPU mencapai 100%, dan tersedia VRAM yang cukup untuk memuat model lain secara paralel.
Proses pelatihan memakan waktu sekitar 1 jam 10 menit, dengan training loss yang menurun stabil di setiap langkah, menunjukkan pembelajaran yang efektif.
7. Inferensi Model Setelah Fine-Tuning
Kita akan mengevaluasi kinerja model yang telah di-fine-tune dengan menggunakan pertanyaan sampel ke-11 yang sama dari dataset. Pendekatan ini memungkinkan kita membandingkan hasil dengan model dasar dan menilai peningkatan yang dicapai melalui fine-tuning.
Kini model menghasilkan analisis yang ringkas dan akurat, serta jawabannya benar.
Untuk validasi kinerja lebih lanjut, coba inferensi pada sampel lain.
Model terus memberikan jawaban yang akurat dan analisis yang terstruktur dengan baik, menunjukkan peningkatan yang konsisten bahkan hanya setelah satu epoch fine-tuning.
8. Menyimpan Model
Setelah fine-tuning, Anda dapat dengan mudah membagikan model dengan mendorongnya ke Hugging Face Hub. Ini membuatnya dapat diakses oleh orang lain untuk digunakan atau di-fine-tune lebih lanjut.
Model hasil fine-tuning kini tersedia di: kingabzpro/Magistral-Small-Medical-QA
Sumber: kingabzpro/Magistral-Small-Medical-QA
9. Memuat Model Hasil Fine-Tuning dari Hugging Face
Setelah fine-tuning dan menyimpan LoRA Anda ke Hugging Face Hub, Anda dapat dengan mudah memuatnya kembali untuk analisis lanjutan, inferensi, atau deployment sebagai server inferensi. Proses ini melibatkan pembersihan sesi saat ini, memuat model dasar dan adapter LoRA, serta menjalankan inferensi pada data baru. Anda dapat mempelajari lebih lanjut tentang Bekerja dengan Hugging Face Hub di kursus kami.
1. Sebelum memuat model baru, sebaiknya hapus objek model dan trainer yang ada serta bersihkan cache GPU untuk menghindari masalah memori.
2. Unduh model dasar dan adapter LoRA hasil fine-tuning Anda dari Hugging Face Hub, lalu gabungkan. Muat juga tokenizer.
3. Siapkan contoh prompt, lakukan tokenisasi, hasilkan respons, dan dekode keluarannya.
4. Respons yang dihasilkan akurat dan sangat selaras dengan gaya serta struktur dataset Anda, menunjukkan bahwa model hasil fine-tuning siap untuk inferensi dan deployment di dunia nyata.
Jika Anda mengalami masalah saat menjalankan kode di atas, silakan merujuk ke notebook Jupyter fine-tuning-magistral.ipynb di Hugging Face.
Kesimpulan
Dalam panduan fine-tuning terpisah, kami membahas performa mode distilasi DeepSeek-R1-0528. Sementara DeepSeek-R1-0528 kesulitan beradaptasi dengan gaya spesifik dataset dan akurasinya, Magistral menunjukkan adaptasi yang mulus dan memberikan hasil yang kuat dengan upaya minimal.
Pengalaman ini memperkuat keyakinan saya bahwa Mistral AI dengan cepat muncul sebagai pemain terdepan di ranah AI, tidak hanya pada model bahasa namun juga di berbagai solusi lain, termasuk visi komputer.
Dalam panduan ini, kita berhasil melakukan fine-tuning model penalaran terbaru Mistral AI, Magistral, pada dataset MCQ medis.
Namun, penting untuk dicatat bahwa fine-tuning model besar seperti Magistral membutuhkan perangkat keras yang substansial, umumnya GPU dengan setidaknya 40GB VRAM, karena bahkan RTX 4090 mungkin tidak memadai untuk beberapa konfigurasi. Saya juga bereksperimen dengan kerangka kerja Unsloth dan versi model 4-bit-nya, tetapi tetap menemui masalah memori GPU.
Jika Anda mencari kursus praktis untuk memahami fine-tuning, jangan lewatkan Fine-Tuning With Llama 3.