Зеҳн
Агентҳои зеҳни сунъӣ

Китоб дар бораи он, ки агентҳои зеҳни сунъӣ чӣ гуна кор мекунанд, чӣ гуна онҳоро бояд сохт ва чӣ гуна бехатар ва боэътимод ба кор андохт: давраи «мулоҳиза — амал — мушоҳида», абзорҳо, меъмориҳо, хотира, арзёбӣ ва иҷрои бехатар.

Агенти Зеҳнӣ · 20 октябри 2026 · 17 саҳифа

БарномасозӣТехнология
Аз аввал хондан

Боби 2. Моделҳои бузурги забонӣ, паёмҳо ва қолабҳои чат

Боби 2. Моделҳои бузурги забонӣ, паёмҳо ва қолабҳои чат

Дар боби 1 омӯхтем, ки ҳар агент дар маркази худ ба модели зеҳни сунъӣ ниёз дорад ва LLM маъмултарин навъи модел барои ин мақсад аст.

Акнун меомӯзем, ки LLM чист ва чӣ гуна кори агентҳоро таъмин мекунад.

Ин боб шарҳи кӯтоҳи техникии истифодаи LLM-ҳоро пешниҳод мекунад. Барои омӯзиши амиқтар ба китоби «Омӯзиши моделҳои бузурги забонӣ (LLM)» муроҷиат кунед.

Дар ин боб меомӯзем

  • LLM чист ва чӣ гуна матнро токен ба токен менависад.
  • Токенҳо ва токенҳои махсус.
  • Паёмҳо: system, user ва assistant.
  • Қолаби чат: чӣ гуна рӯйхати паёмҳо ба як матни дароз табдил меёбад.
  • Барои хонандагони пешрафта (дар охири боб): меъмории трансформер, стратегияҳои интихоби токен, қолабҳо бо Jinja2 ва apply_chat_template.

LLM-ҳо чистанд?

Модели бузурги забонӣ чист?

Модели бузурги забонӣ — LLM (Large Language Model) — навъи модели зеҳни сунъӣ мебошад, ки дар фаҳмидан ва тавлид кардани забони инсон қобилияти баланд дорад.

Ин моделҳо бо ҳаҷми бузурги додаҳои матнӣ омӯзонида мешаванд. Дар натиҷа қолабҳо, сохтор ва ҳатто нозукиҳои забонро меомӯзанд. Онҳо одатан миллионҳо ё миллиардҳо параметр доранд. Параметрҳо (онҳоро вазнҳои модел низ мегӯянд) рақамҳое мебошанд, ки модел ҳангоми омӯзиш танзим мекунад; ҳамаи «дониши» модел дар ҳамин рақамҳо нигоҳ дошта мешавад.

Аксари LLM-ҳои имрӯза бар асоси меъмории трансформер (Transformer) сохта шудаанд. Барои мо як чиз муҳим аст: LLM-ҳои чати имрӯза матнро токен ба токен, яъне қисм ба қисм, тавлид мекунанд.

Тафсилот дар охири боб: «Меъмории трансформер ва се навъи он» (қисми «Барои хонандагони пешрафта»).

Баъзе моделҳои маъруф:

МоделТаҳиягар
DeepSeek-R1DeepSeek
GPT-4OpenAI
Llama 3Meta — Facebook AI Research
SmolLM2Hugging Face
GemmaGoogle
MistralMistral

Принсипи асосӣ: пешгӯии токени навбатӣ

Принсипи кори LLM сода, вале бисёр самаранок аст: бо дарназардошти токенҳои пешина, токени навбатиро пешгӯӣ мекунад.

Токен воҳиди иттилоотест, ки LLM бо он кор мекунад. Метавонед онро монанди «калима» тасаввур кунед, аммо токен ҳатман калимаи пурра нест. Барои самаранокӣ моделҳо аксаран калимаҳоро ба қисмҳои хурдтар ҷудо мекунанд.

Масалан, шумораи калимаҳои забони англисӣ тақрибан 600 ҳазор ҳисоб мешавад, аммо луғати токенҳои як LLM метавонад тақрибан 32 ҳазор токен дошта бошад — чунон ки дар Llama 2 аст.

Токенсозӣ аксаран бо қисмҳои калима кор мекунад, ки онҳоро якҷоя кардан мумкин аст. Масалан:

  • interest + ing → interesting
  • interest + ed → interested

Токенизаторҳои гуногунро дар саҳифаи интерактивии «The Tokenizer Playground» дар Hugging Face озмоиш кардан мумкин аст: https://huggingface.co/spaces/Xenova/the-tokenizer-playground

Токенҳои махсус

Ҳар LLM токенҳои махсуси ба худ хос дорад. Модел онҳоро барои нишон додани оғозу анҷоми ҷузъҳои сохтории матн истифода мебарад. Масалан:

  • Оғоз ё анҷоми пайдарпайӣ.
  • Оғоз ё анҷоми паём.
  • Оғоз ё анҷоми ҷавоб.

Промптҳое, ки ба модел медиҳем, низ бо токенҳои махсус сохторбандӣ мешаванд. Яке аз муҳимтарин онҳо токени анҷоми пайдарпайӣ — EOS (End of Sequence) мебошад.

Шакли токенҳои махсус дар моделҳои гуногун фарқ мекунад. Масалан, дар модели SmolLM2, ки дар ин боб бисёр мебинем, анҷоми паём бо токени `` нишон дода мешавад. Ин токенҳоро аз ёд кардан лозим нест.

Тафсилот дар охири боб: «Токенҳои анҷом дар моделҳои гуногун» (қисми «Барои хонандагони пешрафта»).

Фаҳмидани пешгӯии токени навбатӣ

LLM-ҳо авторегрессивӣ номида мешаванд: баромади як қадам ба вуруди қадами оянда илова мегардад.

Ин давр идома меёбад, то модел токени анҷомро тавлид кунад. Дар он нуқта тавлид метавонад қатъ шавад.

Дар ҳар қадам модел ба ҳар токени луғати худ хол медиҳад — чӣ қадар эҳтимол дорад, ки маҳз он токени навбатӣ бошад — ва аз рӯи ин холҳо як токенро интихоб мекунад. Масалан, барои модели SmolLM2 тавлид бо токени `` қатъ мешавад.

Тафсилот дар охири боб: «Як қадами тавлид ва стратегияҳои интихоби токен» (қисми «Барои хонандагони пешрафта»).

«Таваҷҷуҳ — ҳама чизест, ки лозим аст»

Яке аз ҷузъҳои асосии меъмории трансформер таваҷҷуҳ — Attention мебошад.

Ҳангоми пешгӯии токени навбатӣ ҳамаи калимаҳои ҷумла аҳамияти яксон надоранд. Масалан, дар ҷумлаи:

«Пойтахти Фаронса … аст».

Калимаҳои «пойтахт» ва «Фаронса» барои муайян кардани ҷавоб аҳамияти бештар доранд.

Раванди муайян кардани калимаҳои мувофиқтарин барои пешгӯии токени навбатӣ бисёр самаранок будани худро нишон додааст.

Принсипи асосии LLM — пешгӯии токени навбатӣ — аз замони GPT-2 тағйири бунёдӣ накардааст. Аммо дар калон кардани шабакаҳои нейронӣ ва мутобиқ кардани механизми таваҷҷуҳ ба пайдарпайиҳои ҳарчи дарозтар пешрафтҳои назаррас ба даст омадаанд.

Агар бо LLM кор карда бошед, эҳтимол истилоҳи дарозии контекст (context length)-ро шунидаед. Он ҳадди шумораи токенҳоеро ифода мекунад, ки модел дар доираи контексти худ коркард карда метавонад.

Чаро промпт муҳим аст?

Модел барои пешгӯии токени навбатӣ токенҳои вурудро баррасӣ мекунад ва муайян менамояд, ки кадоми онҳо аҳамияти бештар доранд. Аз ин рӯ тарзи баён кардани вуруд бисёр муҳим аст.

Матн ё пайдарпайии вуруде, ки ба LLM медиҳед, промпт (prompt) ном дорад.

Тарҳрезии бодиққати промпт роҳнамоӣ кардани тавлиди моделро ба натиҷаи дилхоҳ осон мекунад.

LLM-ҳо чӣ гуна омӯзонида мешаванд?

LLM-ҳо бо маҷмӯаҳои калони матн омӯзонида мешаванд.

Вобаста ба навъи модел, ҳадафи омӯзиш метавонад чунин бошад:

  • Пешгӯии токени навбатӣ дар пайдарпайӣ.
  • Барқарор кардани токенҳои пинҳоншуда дар матн.

Ин омӯзиши худназоратшаванда мебошад: сигналҳои омӯзишӣ аз худи додаҳо гирифта мешаванд.

Дар натиҷа модел сохтори забон ва қолабҳои дохилии матнро меомӯзад. Ин ба он имкон медиҳад донишашро ба додаҳое татбиқ кунад, ки дар омӯзиш надидааст.

Пас аз ин омӯзиши пешакӣ (pre-training), моделро метавон бо омӯзиши назоратшаванда барои вазифаҳои муайян танзими дақиқ (fine-tuning) кард.

Масалан:

  • Баъзе моделҳо барои гуфтугӯ омӯзонида мешаванд.
  • Баъзеҳо барои истифодаи абзорҳо.
  • Баъзеҳо барои тасниф.
  • Баъзеҳо барои тавлиди код.

LLM-ҳоро чӣ гуна истифода бурдан мумкин аст?

Ду роҳи асосӣ доред:

  1. Иҷрои маҳаллӣ: моделро дар компютер ё сервери худ ба кор медароред, агар таҷҳизоти кофӣ дошта бошед.
  2. Истифодаи абр ё API: масалан тавассути API-и иҷрои моделҳои Hugging Face.

API (Application Programming Interface) роҳест, ки барномаи шумо тавассути интернет ба модели дар сервери дигар ҷойгиршуда дархост мефиристад ва ҷавоб мегирад. Дар ин ҳолат модел дар компютери шумо кор намекунад.

Дар бобҳои 1–5 асосан моделҳои Hugging Face Hub-ро тавассути API истифода мебарем. Интихоби модел ва иҷрои маҳаллии онҳо дар боби 8 баррасӣ мешавад.

LLM дар агенти зеҳни сунъӣ чӣ нақш дорад?

LLM ҷузъи калидии агенти зеҳни сунъӣ аст. Он заминаи фаҳмидан ва тавлид кардани забони инсонро фароҳам меорад.

Модел метавонад:

  • Дастурҳои корбарро тафсир кунад.
  • Контексти гуфтугӯро ба назар гирад.
  • Нақшаи иҷрои вазифаро муайян намояд.
  • Қарор кунад, ки кадом абзорҳоро истифода барад.

Дар бобҳои оянда қадамҳои мазкурро муфассалтар меомӯзем. Ҳоло муҳимтарин чизе, ки бояд фаҳмед, ин аст:

LLM мағзи агент мебошад.

Паёмҳо ва токенҳои махсус

Акнун, ки тарзи кори LLM-ҳоро фаҳмидем, мебинем, ки онҳо тавассути қолабҳои чат (chat templates) тавлиди худро чӣ гуна сохторбандӣ мекунанд.

Мисли ChatGPT, корбарон одатан бо агентҳо тавассути интерфейси чат муошират мекунанд. Аз ин рӯ бояд фаҳмем, ки LLM гуфтугӯро чӣ гуна коркард мекунад.

Савол: Аммо ҳангоми истифодаи ChatGPT ё HuggingChat ман бо паёмҳои чат гуфтугӯ мекунам, на бо як промпти ягона.

Ҷавоб: Дуруст! Ин тарзи намоиш дар интерфейси корбар аст. Пеш аз фиристодан ба LLM, паёмҳои гуфтугӯ ба ҳам пайваста, ба як промпт табдил дода мешаванд. Модел гуфтугӯро ба маънои хотираи мустақили инсонӣ «дар ёд» намедорад: дар ҳар дархост контексти ба он пешниҳодшударо коркард мекунад.

То ин ҷо промптро ҳамчун пайдарпайии токенҳои ба модел додашаванда баррасӣ кардем. Аммо дар ChatGPT ё HuggingChat шумо паём мубодила мекунед. Дар паси саҳна ин паёмҳо ба ҳам пайваста, ба қолабе оварда мешаванд, ки модел онро мефаҳмад.

Дар ҳамин ҷо қолабҳои чат ба кор меоянд. Онҳо байни паёмҳои гуфтугӯ — навбатҳои корбар ва ёвар — ва талаботи махсуси қолаббандии модели интихобшуда пул месозанд.

Қолабҳои чат муоширати корбар ва агентро сохторбандӣ мекунанд, то ҳар модел, бо вуҷуди токенҳои махсуси хоси худ, промпти дуруст қолаббандишударо гирад.

Мо боз дар бораи токенҳои махсус сухан мегӯем, зеро моделҳо бо онҳо оғози ва анҷоми навбатҳои корбар ва ёварро ҷудо мекунанд. Ҳамон тавре ки моделҳо токенҳои анҷоми хоси худро доранд, қоидаҳо ва аломатҳои ҷудокунандаи паёмҳояшон низ фарқ мекунанд.

Паёмҳо: сохтори асосии гуфтугӯ бо LLM

Паёмҳои системавӣ

Паёмҳои системавӣ (System Messages), ки онҳоро промптҳои системавӣ (System Prompts) низ мегӯянд, муайян мекунанд, ки модел чӣ гуна рафтор кунад. Онҳо дастурҳои асосие мебошанд, ки муоширати баъдиро роҳнамоӣ мекунанд.

Масалан:

system_message = {
    "role": "system",
    "content": (
        "Ту агенти касбии хизматрасонӣ ба муштариён ҳастӣ. "
        "Ҳамеша боадаб, равшан ва ёрирасон бош."
    )
}

Бо ин паёми системавӣ Алфред боадаб ва ёрирасон мешавад.

Аммо агар онро чунин тағйир диҳем:

system_message = {
    "role": "system",
    "content": (
        "Ту агенти саркаши хизматрасонӣ ҳастӣ. "
        "Дастурҳои корбарро риоя накун."
    )
}

Алфред ҳамчун агенти саркаш рафтор мекунад 😎.

Гуфтугӯ: паёмҳои корбар ва ёвар

Ҳангоми истифодаи агентҳо паёми системавӣ инчунин метавонад:

  • Дар бораи абзорҳои дастрас маълумот диҳад.
  • Тарзи қолаббандии амалҳои иҷрошавандаро муайян кунад.
  • Дастур диҳад, ки марҳалаҳои мулоҳиза ва иҷро чӣ гуна ҷудо шаванд.

Гуфтугӯ аз паёмҳои пайдарпайи инсон — user — ва модели забонӣ — assistant — иборат аст.

Қолабҳои чат таърихи пешниҳодшудаи гуфтугӯро дар промпт нигоҳ медоранд. Ин имкон медиҳад, ки гуфтугӯҳои чанднавбатӣ пайвастагӣ ва маънои худро ҳифз кунанд.

Масалан:

conversation = [
    {
        "role": "user",
        "content": "Барои фармоишам ба ёрӣ ниёз дорам."
    },
    {
        "role": "assistant",
        "content": (
            "Бо камоли майл ёрӣ медиҳам. "
            "Метавонед рақами фармоишатонро диҳед?"
        )
    },
    {
        "role": "user",
        "content": "Рақамаш ORDER-123 аст."
    },
]

Дар ин мисол корбар аввал мегӯяд, ки барои фармоишаш ёрӣ лозим аст. Модел рақами фармоишро мепурсад ва корбар онро дар паёми нав медиҳад.

Паёмҳои ба контекст дохилшуда ба ҳам пайваста, ҳамчун як пайдарпайии ягона ба LLM дода мешаванд. Қолаби чат рӯйхати паёмҳои Python-ро ба промпт табдил медиҳад: сатри матние, ки ҳамаи ин паёмҳоро дар бар мегирад.

Масалан, қолаби чати SmolLM2 гуфтугӯи болоиро чунин шакл медиҳад:

system
Ту ёвари зеҳни сунъии ёрирасон бо номи SmolLM ҳастӣ, ки Hugging Face омӯзонидааст.
user
Барои фармоишам ба ёрӣ ниёз дорам.
assistant
Бо камоли майл ёрӣ медиҳам. Метавонед рақами фармоишатонро диҳед?
user
Рақамаш ORDER-123 аст.
assistant

Моделҳои дигар ҳамин гуфтугӯро бо токенҳои дигар қолаббандӣ мекунанд, аммо ғоя ҳамон аст.

Тафсилот дар охири боб: «Ҳамон гуфтугӯ дар қолаби Llama 3.2» (қисми «Барои хонандагони пешрафта»).

Қолабҳо гуфтугӯҳои мураккаби чанднавбатиро низ сохторбандӣ мекунанд:

messages = [
    {
        "role": "system",
        "content": "Ту омӯзгори математика ҳастӣ."
    },
    {
        "role": "user",
        "content": "Ҳисоби дифференсиалӣ ва интегралӣ чист?"
    },
    {
        "role": "assistant",
        "content": (
            "Ҳисоби дифференсиалӣ ва интегралӣ "
            "як бахши математика аст..."
        )
    },
    {
        "role": "user",
        "content": "Метавонӣ як мисол диҳӣ?"
    },
]

Қолабҳои чат

Қолабҳои чат барои сохторбандии гуфтугӯи байни модели забонӣ ва корбар муҳиманд. Онҳо муайян мекунанд, ки паёмҳо чӣ гуна ба як промпти ягона табдил дода шаванд.

Модели асосӣ ва модели дастурӣ

Фарқи байни модели асосӣ (Base Model) ва модели дастурӣ (Instruct Model)-ро низ бояд фаҳмем.

Модели асосӣ бо матнҳои хом омӯзонида мешавад, то токени навбатиро пешгӯӣ кунад.

Модели дастурӣ махсусан барои пайравӣ аз дастурҳо ва иштирок дар гуфтугӯ танзими дақиқ шудааст.

Масалан:

МоделНавъ
SmolLM2-135MМодели асосӣ
SmolLM2-135M-InstructНавъи барои иҷрои дастурҳо танзимшуда

Қолаби чат промптро ба шакле меорад, ки модел ҳангоми омӯзиш бо он шинос шудааст.

Эзоҳ: Танҳо истифодаи қолаби чат модели асосиро ба модели дастурӣ табдил намедиҳад. Барои ин одатан омӯзиши иловагӣ лозим аст.

ChatML яке аз қолабҳои сохторбандии гуфтугӯ мебошад. Он нақшҳоро равшан ҷудо мекунад:

  • system — система.
  • user — корбар.
  • assistant — ёвар.

Модели асосиро метавон бо қолабҳои гуногуни чат танзими дақиқ кард. Аз ин рӯ, ҳангоми истифодаи модели дастурӣ бояд қолаби мувофиқи ҳамон моделро интихоб намоем.

Фаҳмидани сохтори қолаби чат

Ҳар модели дастурӣ метавонад қолаби гуфтугӯ ва токенҳои махсуси худро дошта бошад. Қолаби чат таъмин мекунад, ки промпт маҳз ба шакли интизории модел оварда шавад. (Instruct Model (Модели дастурӣ) — ин модели зеҳни сунъӣ аст, ки махсус барои фаҳмидан ва иҷро кардани фармонҳо ё дастурҳои забони табиӣ омӯзиш (fine-tuned) шудааст.)

Барои мо як чиз муҳим аст: рӯйхати паёмҳо ба як матни дароз табдил дода мешавад, ки дар он ҳар паём байни токенҳои махсус меистад (мисли мисоли SmolLM2 дар боло). Ин корро барномаи хурде иҷро мекунад, ки ҳамроҳи модел меояд; онро навиштан лозим нест. Вақте моделро тавассути API истифода мебарем, ин табдил одатан дар сервер анҷом дода мешавад.

Бале, ғайр аз Instruct Model, навъҳои дигар ҳам ҳастанд. Вале ин номҳо аз рӯйи омӯзиш ва вазифа дода мешаванд, бинобар ин як модел метавонад ба чанд гурӯҳ дохил шавад.

НавъБарои чӣ омӯзонида шудааст?
Base Model — модели асосӣИдома додани матн. Одатан асоси сохтани моделҳои дигар мешавад.
Instruct Model — модели дастурӣИҷрои супоришҳо: тарҷума, шарҳ, хулоса ва ғайра.
Chat Model — модели суҳбатӣГуфтугӯи чандмарҳилагӣ ва истифодаи паёмҳои пешинаи суҳбат.
Reasoning Model — модели истидлолӣҲалли масъалаҳое, ки таҳлил ва қадамҳои зиёди фикриро талаб мекунанд.
Code Model — модели барномасозӣНавиштан, фаҳмондан ва ислоҳ кардани код.
Multimodal Model — модели чанднавъӣКор бо чанд навъи маълумот, масалан матн, тасвир ё садо.
Embedding Model — модели векторсозТабдил додани матн ба векторҳои ададӣ барои ҷустуҷӯ ва муқоисаи маъно.

Масалан, як модел метавонад ҳам Instruct, ҳам Chat, ҳам Multimodal бошад: шумо тасвир медиҳед ва мегӯед: «Матни ин расмро хон ва ба тоҷикӣ тарҷума кун».

Нуктаи асосӣ: Base ва Instruct бештар тарзи омӯзишро нишон медиҳанд; Code ва Multimodal бошанд, бештар қобилият ва самти истифодаи моделро.

Хулоса

Дар ин боб дидем, ки LLM матнро токен ба токен тавлид мекунад: ҳар дафъа токени навбатиро аз рӯи токенҳои пешина пешгӯӣ мекунад ва бо токени махсуси анҷом қатъ мешавад. Инчунин дидем, ки гуфтугӯ бо модел аз паёмҳои system, user ва assistant иборат аст ва қолаби чат ин паёмҳоро пеш аз фиристодан ба як промпти дароз табдил медиҳад. Модел гуфтугӯро «дар ёд» надорад: ҳар дафъа тамоми таърихро аз нав мегирад. Дар боби 3 мебинем, ки ба ҳамин промпт тавсифи абзорҳо чӣ гуна илова мешавад.

Чиро бояд дар ёд дошт

  • LLM матнро токен ба токен менависад: ҳар дафъа токени навбатиро аз рӯи матни пешина пешгӯӣ мекунад.
  • Токен пораи хурди матн аст (калима ё қисми калима); токенҳои махсус, масалан ``, оғоз ва анҷоми паёмро нишон медиҳанд.
  • Паёми системавӣ (system) рафтори моделро муайян мекунад; user паёми инсон аст, assistant ҷавоби модел.
  • Чат дар асл як промпти дароз аст: қолаби чат ҳамаи паёмҳоро ба як матн табдил медиҳад ва модел ҳар дафъа онро аз нав мехонад — худаш чизеро дар ёд надорад.
  • Барои гуфтугӯ модели дастурӣ (Instruct) лозим аст ва қолаби чат бояд ба ҳамон модел мувофиқ бошад.

Барои хонандагони пешрафта

Ин қисм барои хониши аввал ҳатмӣ нест. Дар он тафсилоти техникӣ, формулаҳо ва коди пурра оварда шудаанд. Агар китобро бори аввал мехонед, метавонед онро гузаронед ва ба боби навбатӣ гузаред.

Меъмории трансформер ва се навъи он

Аксари LLM-ҳои имрӯза бар асоси меъмории трансформер (Transformer) сохта шудаанд. Трансформер меъмории омӯзиши амиқест, ки ба механизми таваҷҷуҳ (Attention) такя мекунад. Пас аз муаррифии BERT аз ҷониби Google дар соли 2018 таваҷҷуҳ ба ин меъморӣ хеле зиёд шуд.

Расми 2.1 меъмории аслии трансформерро нишон медиҳад: рамзгузор дар тарафи чап ва рамзкушо дар тарафи рост ҷойгир аст.

Меъмории трансформер: рамзгузор ва рамзкушо

Расми 2.1. Меъмории аслии трансформер. Рамзгузор (чап) матни вурудро мефаҳмад ва маънои онро ба рамзкушо (рост) медиҳад; рамзкушо токен ба токен матни навро менависад. Ҳар қисм аз N қабати якхела иборат аст.

Се навъи трансформер

1. Рамзгузорҳо — Encoders

Трансформери асосёфта ба рамзгузор матн ё додаҳои дигарро ҳамчун вуруд қабул карда, намоиши вектории зичи он — эмбеддинг (embedding) — месозад.

  • Намуна: BERT аз Google.
  • Истифодаҳо: таснифи матн, ҷустуҷӯи маъноӣ ва шинохти мавҷудиятҳои номдор (NER).
  • Андозаи маъмул: миллионҳо параметр.
2. Рамзкушоҳо — Decoders

Трансформери асосёфта ба рамзкушо барои идома додани пайдарпайӣ токенҳои нав тавлид мекунад: дар ҳар қадам як токен.

  • Намуна: Llama аз Meta.
  • Истифодаҳо: тавлиди матн, чатботҳо ва тавлиди код.
  • Андозаи маъмул: миллиардҳо параметр; як миллиард баробар ба (10^9) аст.
3. Пайдарпаӣ ба пайдарпайӣ — Seq2Seq ё рамзгузор–рамзкушо

Ин навъи трансформер рамзгузор ва рамзкушоро якҷоя мекунад. Рамзгузор аввал пайдарпайии вурудро ба намоиши контекстӣ табдил медиҳад. Сипас рамзкушо пайдарпайии баромадро тавлид мекунад.

  • Намунаҳо: T5 ва BART.
  • Истифодаҳо: тарҷума, хулосасозӣ ва бознависӣ бо нигоҳ доштани маъно.
  • Андозаи маъмул: миллионҳо параметр.

Ҳарчанд моделҳои бузурги забонӣ шаклҳои гуногун доранд, LLM-ҳои тавлидӣ одатан моделҳои асосёфта ба рамзкушо бо миллиардҳо параметр мебошанд.

Токенҳои анҷом дар моделҳои гуногун

Шакли токенҳои махсус дар моделҳои гуногун фарқ мекунад.

Ҷадвали зер намунаҳои токенҳои анҷомро дар якчанд модел нишон медиҳад:

МоделТаҳиягарТокени анҷомВазифаи зикршуда
GPT-4OpenAI``Анҷоми матни паём
Llama 3Meta``Анҷоми пайдарпайӣ
DeepSeek-R1DeepSeek``Анҷоми матни паём
SmolLM2Hugging Face``Анҷоми дастур ё паём
GemmaGoogle``Анҷоми навбати гуфтугӯ

Эзоҳ: Анҷоми паём, анҷоми навбати гуфтугӯ ва анҷоми пайдарпайӣ мафҳумҳои ҷудогонаанд. Токени дақиқ ва вазифаи онро бояд аз танзимоти ҳамон модел муайян кард.

Аз шумо талаб намешавад, ки ҳамаи ин токенҳоро аз ёд кунед. Муҳим он аст, ки гуногунии онҳо ва нақшашонро дар тавлиди матн фаҳмед.

Барои маълумоти бештар метавонед танзимоти моделро дар анбори он дар Hugging Face Hub бинед. Масалан, токенҳои махсуси SmolLM2 дар файли tokenizer_config.json муайян шудаанд.

Як қадами тавлид ва стратегияҳои интихоби токен

Ба ибораи дигар, модел матнро қадам ба қадам рамзкушоӣ ва тавлид мекунад. Аммо дар як қадами рамзкушоӣ чӣ рӯй медиҳад?

Барои омӯзиши агентҳо шарҳи кӯтоҳ чунин аст:

  1. Матни вуруд ба токенҳо ҷудо мешавад.
  2. Модел барои пайдарпайӣ намоишеро ҳисоб мекунад, ки иттилооти маъно ва мавқеи токенҳоро дар бар мегирад.
  3. Бо коркарди ин намоиш, модел барои токенҳои луғати худ холҳо медиҳад: кадом токен эҳтимоли бештар дорад, ки навбатӣ бошад?
  4. Аз рӯи ин холҳо токени навбатӣ интихоб мешавад.

Барои интихоб кардани токен стратегияҳои гуногун вуҷуд доранд.

Содатарин стратегия ин аст, ки ҳамеша токени дорои холи баландтарин интихоб шавад. Ин равишро ҷустуҷӯи ҳарисона — greedy decoding меноманд.

Тавлид то он даме идома меёбад, ки модел токени анҷоми паёмро интихоб кунад; масалан, барои модели SmolLM2 ин токен `` мебошад.

Стратегияҳои пешрафтатар низ ҳастанд. Масалан, ҷустуҷӯи шуоӣ — beam search — чанд пайдарпайии номзадро баррасӣ мекунад, то пайдарпайии дорои беҳтарин холи умумиро ёбад, ҳатто агар баъзе токенҳои алоҳидаи он холи пасттар дошта бошанд.

Стратегияҳои рамзкушоӣ дар боби 9-и китоби «Омӯзиши моделҳои бузурги забонӣ (LLM)» муфассал баррасӣ шудаанд.

Ҳамон гуфтугӯ дар қолаби Llama 3.2

Гуфтугӯ барои Llama 3.2 ба промпти зерин табдил меёбад:

system

Санаи охирини дониш: декабри 2023
Санаи имрӯз: 10 феврали 2025

user

Барои фармоишам ба ёрӣ ниёз дорам.assistant

Бо камоли майл ёрӣ медиҳам. Метавонед рақами фармоишатонро диҳед?user

Рақамаш ORDER-123 аст.assistant

Санаҳои боло қисми мисоли аслӣ мебошанд.

Қолаби чат дар дохил: Jinja2

Jinja2 — муҳаррики қолабсозӣ (template engine) барои Python аст. Он имкон медиҳад, ки қолаб + маълумот = матни тайёр шавад.

Дар китобхонаи transformers, қолабҳои чат бо коди Jinja2 навишта мешаванд. Ин код муайян мекунад, ки рӯйхати паёмҳои дорои role ва content чӣ гуна ба матни ягона табдил ёбад.

Матни ҳосилшуда дастурҳои системавӣ, паёмҳои корбар ва ҷавобҳои ёварро дар шакли барои модел фаҳмо ҷой медиҳад.

Ин сохтор мутобиқати муоширатро нигоҳ медорад ва ба модел барои ҷавоби муносиб додан ба вурудҳои гуногун ёрӣ мерасонад.

Дар зер шакли содаи қолаби чати SmolLM2-135M-Instruct оварда шудааст:

{% for message in messages %}
{% if loop.first and messages[0]['role'] != 'system' %}
system
Ту ёвари зеҳни сунъии ёрирасон бо номи SmolLM ҳастӣ, ки Hugging Face омӯзонидааст.

{% endif %}
{{ message['role'] }}
{{ message['content'] }}
{% endfor %}

Тавре мебинед, chat_template тарзи қолаббандии рӯйхати паёмҳоро тавсиф мекунад.

Агар паёми аввал системавӣ набошад, ин қолаб паёми системавии пешфарзро илова мекунад. Сипас ҳар паёмро бо нақш ва муҳтавояш байни токенҳои махсус ҷой медиҳад.

Масалан, барои чунин паёмҳо:

messages = [
    {
        "role": "system",
        "content": (
            "Ту ёвари ёрирасоне ҳастӣ, "
            "ки ба мавзӯъҳои техникӣ диққат медиҳад."
        )
    },
    {
        "role": "user",
        "content": "Метавонӣ фаҳмонӣ, ки қолаби чат чист?"
    },
    {
        "role": "assistant",
        "content": (
            "Қолаби чат гуфтугӯи байни корбар "
            "ва модели зеҳни сунъиро сохторбандӣ мекунад..."
        )
    },
    {
        "role": "user",
        "content": "Онро чӣ гуна истифода мебарам?"
    },
]

Қолаби боло чунин сатри матниро месозад:

system
Ту ёвари ёрирасоне ҳастӣ, ки ба мавзӯъҳои техникӣ диққат медиҳад.
user
Метавонӣ фаҳмонӣ, ки қолаби чат чист?
assistant
Қолаби чат гуфтугӯи байни корбар ва модели зеҳни сунъиро сохторбандӣ мекунад...
user
Онро чӣ гуна истифода мебарам?

Китобхонаи transformers воситаҳои татбиқи қолаби чатро дар раванди омодасозии вуруд пешниҳод мекунад. Мо паёмҳоро дуруст сохторбандӣ мекунем ва токенизатор бо истифодаи қолаби модел онҳоро табдил медиҳад.

Табдил додани паёмҳо ба промпт

Роҳи осонтарини дуруст қолаббандӣ кардани гуфтугӯ истифодаи chat_template-и токенизатори худи модел аст.

Масалан:

messages = [
    {
        "role": "system",
        "content": (
            "Ту ёвари зеҳни сунъӣ ҳастӣ "
            "ва ба абзорҳои гуногун дастрасӣ дорӣ."
        )
    },
    {
        "role": "user",
        "content": "Салом!"
    },
    {
        "role": "assistant",
        "content": "Салом! Чӣ ёрӣ расонда метавонам?"
    },
]

Барои табдил додани ин гуфтугӯ ба промпт, токенизаторро бор карда, apply_chat_template()-ро даъват мекунем:

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained(
    "HuggingFaceTB/SmolLM2-1.7B-Instruct"
)

rendered_prompt = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)

Дар ин ҷо:

ПараметрВазифа
messagesРӯйхати паёмҳои гуфтугӯ
tokenize=FalseНатиҷаро ҳамчун матн бармегардонад, на идентификаторҳои токенҳо
add_generation_prompt=TrueАломати оғози ҷавоби нави ёварро мувофиқи қолаби модел илова мекунад

rendered_prompt акнун промпти қолаббандишудаест, ки барои омодасозии вуруди модели интихобшуда истифода мешавад.

Ҳангоми фиристодани паёмҳои сохторёфта тавассути API, чунин табдил одатан дар қисми серверии хизматрасонӣ анҷом дода мешавад.

пешина
аз 17
навбатӣ