Bosh sahifa Wiki SFT

SFT

SFT — pretrained modelni input va kerakli output juftliklari asosida supervised usulda moslashtirish jarayoni. To‘liq nomi Supervised Fine-Tuning. Katta til modellarida SFT modelga instructionga amal qilish, dialog formatini saqlash, ma’lum uslubda yozish va vazifaga mos javob berishni o‘rgatadi.

SFT ko‘pincha pretrainingdan keyingi birinchi alignment bosqichi hisoblanadi.

Training sample

Oddiy sample:

Instruction: Matnni umumlashtir.
Input: ...
Output: ...

Chat modelda:

system
user
assistant

role’lari bilan saqlanishi mumkin.

Loss odatda assistant response tokenlari bo‘yicha hisoblanadi.

Label

Autoregressive model uchun target keyingi tokenlar ketma-ketligi.

Teacher forcingda haqiqiy oldingi token modelga beriladi.

Model har pozitsiyada keyingi target token probabilitysini oshiradi.

Prompt tokenlari ba’zan lossdan mask qilinadi.

Chat template

Role va separatorlar tokenizer bilan mos formatda yoziladi.

Template:

  • system marker;
  • user marker;
  • assistant marker;
  • end token;
  • tool role

ni belgilaydi.

Training va inference template’i farq qilsa model noto‘g‘ri format chiqarishi mumkin.

Instruction data

Dataset turli vazifalarni qamrab oladi:

  • savol-javob;
  • classification;
  • extraction;
  • summarization;
  • code;
  • translation;
  • reasoning;
  • safe refusal;
  • formatlash.

Diversity modelning general instruction followingini yaxshilaydi.

Human-written data

Mutaxassis yoki annotator yuqori sifatli javob yozadi.

Afzalligi — aniq rubrika va domain nazorati.

Kamchiligi — qimmat va sekin.

Annotatorlar orasidagi uslub farqi dataset consistency’siga ta’sir qiladi.

Synthetic data

Katta model yoki dastur orqali instruction-response juftliklari yaratiladi.

Bu datasetni tez kengaytiradi.

Synthetic javob:

  • factual xato;
  • takror;
  • bir xil uslub;
  • yashirin bias;
  • teacherga o‘xshash cheklov

olib kelishi mumkin.

Filtering va human sampling review kerak.

Data cleaning

SFT datasetda:

  • duplicate;
  • bo‘sh output;
  • noto‘g‘ri til;
  • zararli data;
  • secret;
  • format xatosi;
  • juda uzun sample;
  • evaluation leakage

tozalanadi.

Exact va semantic deduplication ishlatilishi mumkin.

Loss masking

Prompt qismi modelga context sifatida beriladi, lekin uning tokenlari uchun loss hisoblanmasligi mumkin.

Faqat assistant response train qilinadi.

Multi-turn dialogda qaysi assistant turnlari lossga kirishi policyga bog‘liq.

Tool outputlari ko‘pincha model targeti emas.

Packing

Ko‘p qisqa sample bitta uzun sequence ichiga packing qilinishi mumkin.

Bu padding waste’ni kamaytiradi.

Attention mask bir sample tokenining boshqasiga qarashini cheklashi kerak.

Noto‘g‘ri packing data leakage yaratadi.

Sequence length

Uzun sample ko‘proq memory va compute sarflaydi.

Truncation instruction yoki answerning muhim qismini kesib yubormasligi kerak.

Dataset uzunlik bo‘yicha bucket qilinadi.

Long-context behavior uchun maxsus uzun sample kerak.

Learning rate

SFT pretrainingga qaraganda odatda kichik learning rate ishlatadi.

Model umumiy bilimini tez buzmasligi kerak.

Warmup, decay va gradient clipping qo‘llanadi.

Full fine-tuning yoki LoRA tanlovga ta’sir qiladi.

Epoch

Kichik datasetni ko‘p epoch takrorlash overfittingga olib kelishi mumkin.

Validation loss va held-out task metric kuzatiladi.

Katta synthetic datasetda bir epoch ham yetarli bo‘lishi mumkin.

Sample quality sonidan muhimroq.

Curriculum

Avval sodda format va qisqa instruction, keyin murakkab task berilishi mumkin.

Yoki turli tasklar training davomida aralashtiriladi.

Bir taskning ulushi juda katta bo‘lsa model behaviori shu tomonga og‘adi.

Data mixture weightlari aniq boshqariladi.

Catastrophic forgetting

Tor domain SFT modelning umumiy qobiliyatini pasaytirishi mumkin.

General instruction data aralashmasi saqlanadi.

Layer freezing, LoRA yoki kichik learning rate yordam beradi.

Oldingi benchmarklar qayta tekshiriladi.

SFT va pretraining

Pretraining katta unlabeled corpusda umumiy til modelini yaratadi.

SFT kichikroq labeled yoki instruction datasetda kerakli behaviorni o‘rgatadi.

SFT yangi keng bilimni samarali singdirishdan ko‘ra vazifa va formatga moslashtirishga yaqin.

SFT va RLHF

SFT “yaxshi javob qanday ko‘rinadi” degan demonstratsiyani o‘rgatadi.

RLHF yoki DPO bir nechta javob orasidagi preference’dan foydalanadi.

Ko‘p pipeline:

pretraining
→ SFT
→ preference optimization

tartibida ishlaydi.

Evaluation

SFT natijasi:

  • instruction following;
  • exact format;
  • factuality;
  • domain accuracy;
  • refusal;
  • general benchmark;
  • multilingual quality;
  • human review

bilan baholanadi.

Train lossning pasayishi production sifati kafolati emas.

Response sifati

Model human demonstratsiyadagi nafaqat fakt, balki uzunlik, ibora va xatolarni ham o‘rganadi. Javoblar qat’iy rubrika bo‘yicha review qilinadi. Bir xil vazifa uchun keraksiz ravishda juda uzun samplelar modelni verbosityga o‘rgatishi mumkin.

Multi-turn dialog

Dialog sample’da oldingi user va assistant turnlari context bo‘ladi. Oxirgi assistant javobi yoki barcha assistant turnlari targetga kiritilishi mumkin. Oldingi assistant xatosi contextda qolsa model uni davom ettirishi ehtimoli bor. Conversation boundary packingda aniq masklanadi.

Data balance

Til, mavzu, uzunlik va qiyinchilik bo‘yicha balans saqlanadi. Katta inglizcha ulush kichik tillardagi instruction followingni susaytirishi mumkin. Har til uchun alohida evaluation ishlatiladi.

Checkpoint tanlash

Eng past validation loss har doim eng yaxshi assistant behaviorini bermaydi. Human preference, exact format va xavfsizlik metriclari ham tekshiriladi.

Tool sample

Tool chaqirig‘i o‘rgatilsa nom va argumentlar qat’iy schema bilan yoziladi. Modelning tabiiy matni executable actionga avtomatik aylantirilmaydi.

Bog‘liq tushunchalar

Supervised Fine-Tuning, Instruction tuning, Chat template, Teacher forcing, Loss masking, Synthetic data, Fine-tuning, RLHF, DPO, Dataset