Language model-lər necə işləyir
Language model-lər necə işləyir
Language model-lərlə yaxşı sistem qurmaq üçün backpropagation-ı riyazi olaraq çıxarmağı bacarmaq lazım deyil. Lakin maşının nə etdiyi barədə dəqiq zehni modelə sahib olmaq lazımdır, çünki AI mühəndisliyindəki səhvlərin çoxu modeli olmadığı bir şey kimi qəbul etməkdən doğur. Bu fəsil həmin zehni modeli verir.
Tapşırıq: növbəti token-i proqnozlaşdırmaq
Language model token ardıcıllığını qəbul edib növbəti token-in nə olacağına dair ehtimal paylanması qaytaran funksiyadır. Pretraining zamanı bütün məqsəd budur. "Fransanın paytaxtı" girişinə model " Parisdir" token-inə yüksək, " banandır" token-inə isə aşağı ehtimal verir.
Mətn generasiyası bu funksiyanın təkrar-təkrar tətbiqidir: paylanmadan bir token seç, onu əlavə et, yenidən işə sal. Modelin gördüyü hər iş — suallara cavab vermək, kod yazmaq, müştəri rolunu oynamaq — girişi ən ehtimal olunan şəkildə davam etdirən mətn yaradan next-token prediction-dır.
Bunun nəticələri var:
- Model həmişə "bu mətndən sonra inandırıcı şəkildə nə gələ bilər?" sualına cavab verir, "nə doğrudur?" sualına yox.
- Girişi necə ifadə etməyiniz hansı davamın inandırıcı olacağını dəyişir. Ekspert sənədi kimi oxunan prompt ekspert kimi səslənən davam alır.
- Ayrıca "reasoning modulu" yoxdur. Baş verən hər hansı mühakimə token-ləri proqnozlaşdırmağa xidmət edir.
Token-lər
Modellər nə simvolları, nə də sözləri görür. Mətn tez-tez rast gəlinən ardıcıllıqları sıxmağa train edilmiş tokenizer tərəfindən token-lərə bölünür. "unbelievable" bir token ola bilər; "unbelievably" isə üç. Rəqəmlər çox vaxt gözlənilməz şəkildə bölünür — arifmetikanın modellər üçün göründüyündən çətin olmasının səbəblərindən biri də budur.
Token-lər praktik baxımdan ona görə vacibdir ki, context window, qiymət və latency — hamısı token-lə ölçülür.
Transformer
2017-ci ildən bəri demək olar bütün ciddi language model-lər transformer arxitekturasına əsaslanır. Bu arxitekturada başa düşülməsi vacib iki ideya var.
Embedding-lər. Hər token ədədlərdən ibarət vektora (minlərlə ölçü) çevrilir. Oxşar token-lərin vektorları da oxşardır. Network-ün əslində hesabladığı məhz bu vektorlardır.
Attention. Hər layer-də hər token-in vektoru context-dəki bütün digər token-lərə baxıb onları əhəmiyyətinə görə çəkiləndirməklə yenilənir. "Pişik yorulduğu üçün xalçanın üstündə oturdu" cümləsində "yorulduğu" sözü "pişik" sözünə güclü attention yetirir. Attention modelin girişin uzaq hissələrini bir-birinə bağlama üsuludur və context-in ümumiyyətlə işləməsinin səbəbidir: prompt-dakı məlumat sözün əsl mənasında hər token-in representation-ına qarışdırılır.
Onlarla attention layer-ini üst-üstə yığın, aralarına feed-forward layer-lər qoyun, trilyonlarla token üzərində train edin — network qrammatikanı, faktları, üslubu və reasoning-ə bənzər bir şeyi kodlaşdıracaq qədər zəngin representation-lar öyrənir.
Miqyas
Üç şey birlikdə böyüyür: parametrlər (weight-lər), training data və compute. Empirik olaraq, hər üçü miqyaslandıqca performans hamar və proqnozlaşdırıla bilən şəkildə yaxşılaşır — sahənin getdikcə daha böyük modellərə üz tutmasının səbəbi budur. Çoxaddımlı arifmetika və ya mürəkkəb təlimatlara əməl etmək kimi bəzi qabiliyyətlər yalnız müəyyən miqyasdan yuxarıda üzə çıxır.
Miqyas pulsuz deyil. Daha böyük modellər hər token-ə görə daha baha başa gəlir və daha yavaşdır. Praktik mühəndisliyin böyük hissəsi işi görən ən kiçik modeli seçməkdən ibarətdir.
Pretraining-dən assistant-a
Pretrained model mətni davam etdirir; təlimatlara əməl etmir və zərərdən çəkinmir. Onu faydalı assistant-a çevirmək üçün əlavə mərhələlər lazımdır:
- Supervised fine-tuning. Təlimatlarla yaxşı cavabların cütləşdirildiyi nümunələr üzərində training. Model faydalı olmağın formatını öyrənir.
- Preference training. İnsanlar (və ya modellər) cavab cütlərini müqayisə edir; model üstünlük verilənləri istehsal etmək istiqamətində optimallaşdırılır. Nəzakət, zərərli sorğulardan imtina və qeyri-müəyyənliyi etiraf etmək kimi davranışlar məhz burada formalaşır.
- Davamlı alignment işi. Constitutional metodlar, red-teaming və nəzərdə tutulan davranış spesifikasiyasına qarşı evaluation.
Nəticədə alınan modelin output-ları training prosesinin imkan verdiyi qədər helpful, honest və harmless olacaq şəkildə formalaşdırılıb. Altda isə o, yenə token-ləri proqnozlaşdırır.
Sampling və temperature
Model paylanma verir; nəsə həmin paylanmadan bir token seçməlidir. Greedy decoding həmişə ən ehtimal olunan token-i götürür və təkrarçılığa meyllidir. Sampling ehtimala mütənasib olaraq təsadüfi seçir. Temperature paylanmanı miqyaslandırır: aşağı temperature onu daha sivri (daha deterministik), yüksək temperature daha yastı (daha müxtəlif, daha çox səhv) edir.
Faktiki tapşırıqlar və kod üçün aşağı temperature işlədin. Beyin fırtınası və yaradıcı yazı üçün onu qaldırın. Təkrarlana bilən nəticə istədiyiniz hər şey üçün sıfıra qoyun və qəbul edin ki, "təkrarlana bilən" yenə də yalnız təxminidir.
Modellər niyə hallucination edir
Hallucination — əmin, axıcı, amma yanlış output-dur. Mexanizmi nəzərə alsaq, bu, bug deyil, modelin məlumatı çatmayanda göstərdiyi standart davranışdır: "Smith və həmmüəlliflərinin 2019-cu il məqaləsi göstərdi ki" girişinin ən inandırıcı davamı — belə məqalə mövcud olsun-olmasın — inandırıcı səslənən bir nəticədir.
Yüngülləşdirmə yolları səbəbdən irəli gəlir:
- Faktları modelə context-də verin (retrieval), ki inandırıcı davam əsaslandırılmış olsun.
- Modeldən mənbə göstərməsini istəyin və mənbələri yoxlayın.
- "Bilmirəm" cavabına icazə verin və onu mükafatlandırın.
- Əhəmiyyətli output-ları tool-lar və ya insanlarla yoxlayın.
Quranlar üçün bu nə deməkdir
- Output-lara fakt kimi yox, qaralama kimi baxın.
- Modelin bilməli olduğu hər şey ya context-də, ya da weight-lərdə olmalıdır. Weight-lərdə yoxdursa (yeni, məxfi, konkret), onu context-ə qoyun.
- İfadə tərzi mühəndislikdir. Növbəti fəsil bundan bəhs edir.
Düşünmək üçün
- Müntəzəm istifadə etdiyiniz bir prompt götürün. Onu elə yenidən yazın ki, "inandırıcı davam" daha aydın şəkildə istədiyiniz output olsun.
- Modelinizin əminliklə yanlış cavab verdiyi bir sual tapın. Düzgün məlumatı context-ə əlavə edib yenidən soruşun.
- Eyni prompt-u temperature 0 və 1 ilə hər birində beş dəfə işə salın. Dəyişkənliyi müqayisə edin.