כוונון עדין של Llama (Meta)
דמיינו שהחברה שלכם מעבדת אלפי מסמכים משפטיים. אתם רוצים להפוך את חילוץ הנתונים לאוטומטי עם דיוק של 95%. GPT-4o עושה את העבודה, אבל עלויות ה-API גדלות עם נפח האסימונים. הפתרון: כוונון עדין של Llama 3.1 באתר הלקוח (On-Premise). אתם מקבלים קבצי משקל, פורסים את המודל על התשתית שלכם, ומכווננים ללא מגבלות API.
אנחנו צוות של מהנדסי AI/ML עם ניסיון של 5+ שנים בכוונון עדין של מודלים פתוחים (Transformer, GPT, LLaMA). אנו מספקים שירות סוהר: מניתוח הנתונים שלכם ועד פריסת המודל בסביבת ייצור. העריכו את החיסכון — הסקה באירוח עצמי על Llama 3.1 8B עולה פי 10–15 פחות מקריאת API של OpenAI באיכות שווה בעומסים גבוהים.
משפחת מודלי Llama 3.x
| מודל | פרמטרים | VRAM (fp16) | מקרה שימוש |
|---|---|---|---|
| Llama 3.2 1B | 1B | 2 GB | קצה, מערכות משובצות |
| Llama 3.2 3B | 3B | 6 GB | נייד, סוכנים קלים |
| Llama 3.1 8B | 8B | 16 GB | משימות כלליות, כוונון עדין |
| Llama 3.1 70B | 70B | 140 GB | משימות מורכבות, תחרותי עם GPT-4 |
| Llama 3.1 405B | 405B | 800+ GB | מתקדם ביותר, ריבוי GPU |
עבור רוב משימות הכוונון העדין, Llama 3.1 8B או 70B הוא אופטימלי. הראשון מתאמן על A100 80GB יחיד, השני דורש 2–4 GPUs.
למה לבחור ב-Llama לפריסה באתר הלקוח?
בניגוד ל-GPT-4o או Claude, אתם מקבלים את קבצי המשקל. אתם יכולים לפרוס את המודל על התשתית שלכם ולכוונן ללא מגבלות API. זה נותן לכם שליטה מלאה על הנתונים שלכם. לפי ההערכות שלנו, הסקה באירוח עצמי על Llama 3.1 8B עולה פי 10–15 פחות. השוו זאת לקריאת API של OpenAI באיכות שווה. ההבדל בולט במיוחד בעומסים גבוהים. בנוסף, יש לנו מומחים מוסמכים וניסיון ביישום בתעשיות עם דרישות אבטחה מחמירות.
שיטות כוונון עדין
| שיטה | פרמטרים | VRAM (8B) | VRAM (70B) | איכות |
|---|---|---|---|---|
| כוונון עדין מלא | כל המשקלים | 80 GB | 560 GB | מקסימלית |
| LoRA (rank=16) | 0.1% משקלים | 16 GB | 140 GB | ~98% מהמלא |
| QLoRA (4-bit) | 0.1% משקלים | 12 GB | 48 GB | ~95% מהמלא |
כוונון עדין מלא מעדכן את כל המשקלים — איכות מקסימלית, אך דורש משאבים משמעותיים. LoRA (Low-Rank Adaptation) (Hu et al., 2021) מעדכן רק מתאמים בדרגה נמוכה על גבי משקלים קפואים. QLoRA בנוסף מכמת את המודל הבסיסי ל-4-bit. עבור 95% מהמשימות, LoRA או QLoRA מספיקים: הם מספקים איכות קרובה לאימון מלא בעלות של 5–15%.
באילו target_modules לבחור עבור LoRA?
הפרמטר target_modules קובע אילו שכבות מקבלות מתאמי LoRA. הארכיטקטורה של Llama 3 היא טרנספורמר עם GQA (Grouped Query Attention). יעדים טיפוסיים:
-
q_proj,k_proj,v_proj,o_proj— שכבות קשב (קבוצה מינימלית) -
gate_proj,up_proj,down_proj— שכבות MLP (מוסיף כושר ביטוי) - כל 6 יחד — איכות מקסימלית, יותר פרמטרי מתאם
דרגת LoRA r קובעת את גודל המתאם: r=8 נותן ~0.1% פרמטרים נוספים, r=64 נותן ~0.8%. עבור התמחות בסגנון, r=8–16 מספיק; עבור משימות מורכבות של חילוץ ידע, r=32–64.
ערימת טכנולוגיות: TRL + PEFT + Hugging Face
ערכת הכלים העיקרית היא ספריית trl יחד עם peft. דוגמת תצורת QLoRA:
from datasets import load_dataset
from trl import SFTTrainer, SFTConfig
from peft import LoraConfig, get_peft_model
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
import torch
# QLoRA конфигурация
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
)
model = AutoModelForCausalLM.from_pretrained(
"meta-llama/Meta-Llama-3.1-8B-Instruct",
quantization_config=bnb_config,
device_map="auto"
)
lora_config = LoraConfig(
r=16,
lora_alpha=32,
target_modules=["q_proj", "v_proj", "k_proj", "o_proj"],
lora_dropout=0.05,
task_type="CAUSAL_LM"
)
model = get_peft_model(model, lora_config)
trainer = SFTTrainer(
model=model,
args=SFTConfig(
output_dir="./llama3-finetuned",
num_train_epochs=3,
per_device_train_batch_size=4,
gradient_accumulation_steps=4,
learning_rate=2e-4,
bf16=True,
logging_steps=10,
),
train_dataset=dataset["train"],
)
trainer.train()
דוגמה מעשית: עוזר משפטי
משימה: כוונון עדין של Llama 3.1 8B לניתוח החלטות בוררות רוסיות וחילוץ נתונים מובנים (צדדים, נושא הסכסוך, החלטת בית המשפט, סכום).
מערך נתונים: 3200 זוגות (טקסט החלטה → JSON). הנתונים התקבלו ממאגר הנתונים הציבורי kad.arbitr.ru עם 20% הערות ידניות ותיוג סינתטי עם GPT-4o לשאר (עם אימות ידני של מדגם).
תשתית: A100 80GB אחד, אימון של 4 שעות (3 עידנים). תוצאות:
- F1 לחילוץ סכום תביעה: 0.58 → 0.91
- דיוק בקביעת תובע/נתבע: 82% → 97%
- מהירות יצירת אסימונים: 47 tok/s (vLLM, A100)
- עלות הסקה מול API של GPT-4o: פי 12 נמוכה יותר באירוח עצמי
פרטי בניית מערך הנתונים
טקסטים מקוריים של החלטות (PDF) הומרו ל-Markdown באמצעות pdfminer.six. לאחר מכן פוצלו לנתחים של 512 אסימונים עם חפיפה של 64. לניתוח JSON, נעשה שימוש ב-Pydantic. 20% הוערו ידנית על ידי שני מעירים (קאפה של כהן = 0.89). השאר — סינתטי באמצעות GPT-4o עם אימות לאחר מכן של מדגם אקראי.
הסקה של המודל המכוונן
לאחר האימון, מתאם ה-LoRA יכול להיות:
- בשימוש בנפרד (הסקת PEFT): טעינת מודל בסיס + מתאם
- מיזוג למודל אחד (
from datasets import load_dataset from trl import SFTTrainer, SFTConfig from peft import LoraConfig, get_peft_model from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig import torch # QLoRA конфигурация bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16, ) model = AutoModelForCausalLM.from_pretrained( "meta-llama/Meta-Llama-3.1-8B-Instruct", quantization_config=bnb_config, device_map="auto" ) lora_config = LoraConfig( r=16, lora_alpha=32, target_modules=["q_proj", "v_proj", "k_proj", "o_proj"], lora_dropout=0.05, task_type="CAUSAL_LM" ) model = get_peft_model(model, lora_config) trainer = SFTTrainer( model=model, args=SFTConfig( output_dir="./llama3-finetuned", num_train_epochs=3, per_device_train_batch_size=4, gradient_accumulation_steps=4, learning_rate=2e-4, bf16=True, logging_steps=10, ), train_dataset=dataset["train"], ) trainer.train()): מפשט את הפריסה, מסיר תקורה של PEFT - כימות לאחר מיזוג: GGUF דרך llama.cpp, AWQ דרך autoawq, GPTQ — להפחתת דרישות VRAM
# Слияние адаптера с базовой моделью
merged_model = model.merge_and_unload()
merged_model.save_pretrained("./llama3-merged")
tokenizer.save_pretrained("./llama3-merged")לפריסה בסביבת ייצור, אנו משתמשים ב-vLLM — הוא מספק PagedAttention ו-continuous batching, ומגדיל את התפוקה פי 2–5 בהשוואה להסקה נאיבית דרך transformers.
מה כלול בעבודה
- הכנת נתונים (איסוף, ניקוי, הערות, הגדלה)
- בחירת מודל ושיטת כוונון עדין
- אימון ואימות (מדדים, בדיקות, קו בסיס)
- מיזוג מתאמים, כימות ואופטימיזציית הסקה
- פריסה על התשתית שלכם (vLLM, TGI, llama.cpp)
- תיעוד והכשרה לצוות שלכם
- אחריות תמיכה לחודש לאחר המסירה
ציר זמן ותשתית
- הכנת נתונים והערות: 2–6 שבועות
- אימון (8B, LoRA, A100): 2–8 שעות
- אימון (70B, QLoRA, 2×A100): 12–48 שעות
- הערכה ואיטרציות: 1–2 שבועות
- פריסה עם vLLM/TGI: 3–5 ימים
סה"כ מהתחלה ועד ייצור: 4–10 שבועות
איך להעריך את היעילות של המודל המכוונן?
השתמשו במדדים בהתאם למשימה: ליצירה — ROUGE, BLEU, F1; לשאלות ותשובות — דיוק, ריקול; להוראות — הערכה אנושית או LLM-as-judge. אנו כוללים שלב בדיקות A/B: אנו משווים את המודל המכוונן עם קו הבסיס (API או Llama בסיסי) על מדגם מייצג. בקשו ייעוץ — נעזור לקבוע מדדים למקרה שלכם.
למה לבחור בנו
5+ שנות ניסיון מסחרי ב-NLP וראייה ממוחשבת. 30+ פרויקטים מוצלחים של כוונון עדין ללקוחות בפינטק, משפטים ובריאות. מומחים מוסמכים ב-Hugging Face, PyTorch, Triton Inference Server. אנו עובדים עם התקנות מקומיות, מבטיחים סודיות נתונים ומספקים תיעוד מלא.
מעוניינים? צרו קשר כדי לדון בפרויקט שלכם ולקבל הערכה ראשונית. נעזור ליישם את Llama בתשתית שלכם עם השפעה מקסימלית.







