Gemma 2 არის Google-ის ღია დიდი ენობრივი მოდელების (LLM) უახლესი ვერსია. ის გამოდის ორი ზომის – 9 მილიარდი და 27 მილიარდი პარამეტრით, საბაზო (წინასწარ გაწვრთნილი) და ინსტრუქციებზე მორგებული ვერსიებით. Gemma დაფუძნებულია Google DeepMind Gemini-ზე და აქვს 8K ტოკენის კონტექსტური სიგრძე. Gemma 2 მოდელები გაწვრთნილია დაახლოებით 2-ჯერ მეტ მონაცემზე, ვიდრე მათი პირველი ვერსია, რაც ჯამში შეადგენს 13 ტრილიონ ტოკენს 27B ვერსიისთვის და 8 ტრილიონ ტოკენს 9B ვერსიისთვის, რომლებიც მოიცავს ვებ მონაცემებს (ძირითადად ინგლისურს), კოდს და მათემატიკას. ტრენინგის მონაცემების ზუსტი დეტალები უცნობია, და ჩვენ შეგვიძლია მხოლოდ ვივარაუდოთ, რომ მონაცემების უფრო დიდი და გულდასმით დამუშავება გაუმჯობესებული მუშაობის მნიშვნელოვანი ფაქტორი იყო. Gemma 2 ვრცელდება იგივე ლიცენზიით, როგორც პირველი ვერსია, რომელიც არის ნებართვითი ლიცენზია და იძლევა ხელახალი გავრცელების, დაზუსტების (fine-tuning), კომერციული გამოყენებისა და წარმოებული ნამუშევრების შექმნის საშუალებას. Gemma 2-ს ბევრი მსგავსება აქვს პირველ ვერსიასთან. მას აქვს 8192 ტოკენის კონტექსტური სიგრძე და იყენებს ბრუნვით პოზიციურ ჩაშენებას (Rotary Position Embedding - RoPE). თუმცა, Gemma 2-ში ოთხი ძირითადი წინსვლაა ორიგინალ Gemma-სთან შედარებით: **1. ტრენინგის ინფრასტრუქტურა და ოპტიმიზაცია დიალოგისთვის:** Gemma 2 გაწვრთნილია Google Cloud TPU-ზე (27B ვერსია v5p-ზე, 9B ვერსია TPU v4-ზე) JAX-ისა და ML Pathways-ის გამოყენებით. Gemma 2 Instruct ოპტიმიზირებულია დიალოგური აპლიკაციებისთვის და გაწვრთნილია სინთეზური და ადამიანის მიერ გენერირებული მოთხოვნა-პასუხის წყვილების ნაზავზე, გამოყენებულია კონტროლირებადი დაზუსტება (Supervised Fine-Tuning - SFT), უფრო დიდი მოდელისგან დისტილაცია, ადამიანის უკუკავშირზე დაფუძნებული განმტკიცებითი სწავლება (Reinforcement Learning from Human Feedback - RLHF) ჯილდოს მოდელის გამოყენებით, რომელიც უფრო საუბრის შესაძლებლობებზეა ორიენტირებული, და მოდელების შერწყმა WARP-ის გამოყენებით საერთო მუშაობის გასაუმჯობესებლად. წინასწარი ტრენინგის მონაცემების მსგავსად, დაზუსტების მონაცემთა ნაკრებების ან SFT-სა და RLHF-თან დაკავშირებული ჰიპერპარამეტრების შესახებ დეტალები არ გაზიარებულა. **2. ჰიბრიდული მოძრავი ფანჯრის ყურადღება (Sliding Window Attention):** მოძრავი ფანჯრის ყურადღება არის მეთოდი, რომელიც ამცირებს მეხსიერებისა და დროის მოთხოვნებს ტრანსფორმერული მოდელების ყურადღების გამოთვლებისთვის და ის გამოყენებულია ისეთ მოდელებში, როგორიცაა Mistral. Gemma 2-ის სიახლე იმაში მდგომარეობს, რომ მოძრავი ფანჯარა გამოიყენება ყოველ მეორე ფენაზე (ლოკალური – 4096 ტოკენი), ხოლო შუალედური ფენები კვლავ იყენებენ სრულ კვადრატულ გლობალურ ყურადღებას (8192 ტოკენი). ჩვენ ვვარაუდობთ, რომ ეს არის გრძელი კონტექსტის სიტუაციებში ხარისხის გაზრდის საშუალება (ფენების ნახევარი კვლავ ითვალისწინებს ყველა ტოკენს), ხოლო ნაწილობრივ სარგებლობს მოძრავი ყურადღების უპირატესობებით. **3. რბილი ზღვრის დადგენა (Soft Capping):** რბილი ზღვრის დადგენა არის ტექნიკა, რომელიც ხელს უშლის ლოგიტების გადაჭარბებულ ზრდას მათი შეკვეცის გარეშე. ის მუშაობს ლოგიტების მაქსიმალურ ზღურბლოვან მნიშვნელობაზე (soft_cap) გაყოფით, შემდეგ მათ tanh ფენაში გატარებით (რაც უზრუნველყოფს მათ (-1, 1) დიაპაზონში ყოფნას) და ბოლოს, ისევ ზღურბლზე გამრავლებით. ეს უზრუნველყოფს, რომ საბოლოო მნიშვნელობები იქნება (-soft_cap, +soft_cap) ინტერვალში ინფორმაციის დიდი ნაწილის დაკარგვის გარეშე, მაგრამ სტაბილიზებს ტრენინგს. საბოლოო ჯამში, ლოგიტები გამოითვლება შემდეგნაირად: `logits ← soft_cap * tanh(logits/soft_cap)`. Gemma 2 იყენებს რბილი ზღვრის დადგენას საბოლოო ფენისთვის და ყოველი ყურადღების ფენისთვის. ყურადღების ლოგიტების ზღვარია 50.0, ხოლო საბოლოო ლოგიტების 30.0. გამოშვების დროს, რბილი ზღვრის დადგენა შეუთავსებელია Flash Attention / SDPA-სთან, თუმცა მათი გამოყენება მაინც შესაძლებელია ინფერენციის დროს მაქსიმალური ეფექტურობისთვის. Gemma 2-ის გუნდმა ინფერენციის დროს რბილი ზღვრის მოხსნისას ძალიან მცირე განსხვავებები შეამჩნია. შენიშვნა: სტაბილური დაზუსტების დროს, თქვენ კვლავ უნდა ჩართოთ რბილი ზღვრის დადგენა, ამიტომ გირჩევთ დაზუსტებას eager attention-ით SDPA-ს ნაცვლად. **4. ცოდნის დისტილაცია (Knowledge Distillation):** ცოდნის დისტილაცია პოპულარული ტექნიკაა მცირე „მოსწავლე“ მოდელის გაწვრთნისთვის, რათა მან მიბაძოს უფრო დიდი, მაგრამ უკეთესად მოქმედი „მასწავლებელი“ მოდელის ქცევას. ეს მუშაობს LLM-ების შემდეგი ტოკენის პროგნოზირების ამოცანის გაფართოებით, „მასწავლებლისგან“ (მაგ., GPT-4, Claude ან Gemini) ტოკენის ალბათობების განაწილებით, რაც „მოსწავლეს“ აძლევს უფრო მდიდარ სიგნალს სასწავლებლად. Gemma 2-ის ტექნიკური ანგარიშის მიხედვით, ცოდნის დისტილაცია გამოყენებული იყო 9B მოდელის წინასწარი გაწვრთნისთვის, ხოლო 27B მოდელი წინასწარ გაწვრთნილი იყო ნულიდან. შემდგომი გაწვრთნისთვის, Gemma 2-ის გუნდმა გენერირება მოახდინა მრავალფეროვანი დასრულებების „მასწავლებლისგან“ (ანგარიშში არ არის დაკონკრეტებული, მაგრამ სავარაუდოდ Gemini Ultra) და შემდეგ გაწვრთნა „მოსწავლე“ მოდელები ამ სინთეზურ მონაცემებზე SFT-ის გამოყენებით. ეს არის მრავალი ღია მოდელის საფუძველი, როგორიცაა Zephyr და OpenHermes, რომლებიც მთლიანად გაწვრთნილია უფრო დიდი LLM-ების სინთეზურ მონაცემებზე. მიუხედავად იმისა, რომ ეფექტურია, ამ მეთოდს აქვს ნაკლოვანებები, რადგან „მოსწავლე“ და „მასწავლებელი“ მოდელების შესაძლებლობების შეუსაბამობამ შეიძლება გამოიწვიოს ტრენინგი-ინფერენციის შეუსაბამობა, სადაც „მოსწავლის“ მიერ ინფერენციის დროს გენერირებული ტექსტი არის ტრენინგის დროს ნანახთან შედარებით განაწილებიდან გასული. ამ პრობლემის მოსაგვარებლად, Gemma 2-ის გუნდმა გამოიყენა „on-policy დისტილაცია“, სადაც „მოსწავლე“ გენერირებს დასრულებებს SFT მოთხოვნებიდან. ეს დასრულებები შემდეგ გამოიყენება „მასწავლებლისა“ და „მოსწავლის“ ლოგიტებს შორის KL დივერგენციის გამოსათვლელად. ტრენინგის განმავლობაში KL დივერგენციის მინიმიზაციით, „მოსწავლე“ სწავლობს „მასწავლებლის“ ქცევის ზუსტად მოდელირებას, ასევე მინიმიზაციას უკეთებს ტრენინგი-ინფერენციის შეუსაბამობას. ეს მიდგომა საკმაოდ საინტერესოა, რადგან საზოგადოებაში ვნახეთ, რომ on-policy მეთოდები, როგორიცაა ონლაინ DPO, უფრო ძლიერ მოდელებს წარმოქმნის, და on-policy დისტილაციის ერთ-ერთი უპირატესობა...