Transformers შეიქმნა 2019 წელს, BERT Transformer მოდელის გამოშვებიდან მალევე. მას შემდეგ, ჩვენ მუდმივად ვისწრაფვით უახლესი არქიტექტურების დასამატებლად, თავდაპირველად ფოკუსირებული ვიყავით ბუნებრივი ენის დამუშავებაზე (NLP), შემდეგ კი გავფართოვდით აუდიო და კომპიუტერული ხედვის სფეროებში. დღეს, Transformers წარმოადგენს ნაგულისხმევ ბიბლიოთეკას დიდი ენობრივი მოდელებისთვის (LLM) და ვიზუალური ენობრივი მოდელებისთვის (VLM) Python-ის ეკოსისტემაში. Transformers ამჟამად მხარს უჭერს 300-ზე მეტ მოდელის არქიტექტურას, საშუალოდ კვირაში ~3 ახალი არქიტექტურის დამატებით. ჩვენი მიზანია ამ არქიტექტურების დროული გამოშვება; ყველაზე მოთხოვნადი არქიტექტურებისთვის (Llamas, Qwens, GLMs და სხვა) "ნულოვანი დღის" (day-0) მხარდაჭერის უზრუნველყოფა. დროთა განმავლობაში, Transformers გახდა ცენტრალური კომპონენტი მანქანური სწავლების (ML) ეკოსისტემაში, ერთ-ერთი ყველაზე სრულყოფილი ინსტრუმენტარიუმი მოდელების მრავალფეროვნების თვალსაზრისით; ის ინტეგრირებულია ყველა პოპულარულ სასწავლო ფრეიმვორკში, როგორიცაა Axolotl, Unsloth, DeepSpeed, FSDP, PyTorch-Lightning, TRL, Nanotron და სხვა. ცოტა ხნის წინ, ჩვენ აქტიურად ვთანამშრომლობდით ყველაზე პოპულარულ ინფერენსის ძრავებთან (vLLM, SGLang, TGI, ...), რათა მათ Transformers გამოიყენონ როგორც ბექენდი. დამატებითი ღირებულება მნიშვნელოვანია: როგორც კი მოდელი დაემატება Transformers-ს, ის ხელმისაწვდომი ხდება ამ ინფერენსის ძრავებში, ამასთან იყენებს თითოეული ძრავის უპირატესობებს: ინფერენსის ოპტიმიზაციებს, სპეციალიზებულ ბირთვებს, დინამიურ ბეჩინგს და სხვა. მაგალითად, ასე იმუშავებთ Transformers-ის ბექენდთან vLLM-ში: სულ ესაა, რაც სჭირდება ახალ მოდელს vLLM-ით სუპერ-სწრაფი და საწარმოო დონის სერვინგისთვის! მეტი ინფორმაციისთვის იხილეთ vLLM-ის დოკუმენტაცია. ჩვენ ასევე მჭიდროდ ვთანამშრომლობთ llama.cpp-თან და MLX-თან, რათა Transformers-სა და ამ მოდელირების ბიბლიოთეკებს შორის განხორციელებებმა დიდი თავსებადობა იქონიოს. მაგალითად, საზოგადოების მნიშვნელოვანი ძალისხმევის წყალობით, ახლა ძალიან ადვილია GGUF ფაილების ჩატვირთვა Transformers-ში შემდგომი დახვეწისთვის. პირიქით, Transformers მოდელები ადვილად შეიძლება გადაკონვერტირდეს GGUF ფაილებად llama.cpp-ში გამოსაყენებლად. იგივე ეხება MLX-საც, სადაც Transformers-ის safetensors ფაილები პირდაპირ თავსებადია MLX-ის მოდელებთან. ჩვენ ძალიან ვამაყობთ, რომ Transformers-ის ფორმატს იღებს საზოგადოება, რაც უზრუნველყოფს დიდ თავსებადობას, რომლითაც ყველანი ვსარგებლობთ. გაწვრთნეთ მოდელი Unsloth-ით, განათავსეთ SGLang-ით და ექსპორტირება გაუკეთეთ llama.cpp-ში ადგილობრივად გასაშვებად! ჩვენი მიზანია მომავალშიც გავაგრძელოთ საზოგადოების მხარდაჭერა. იმისათვის, რომ საზოგადოებისთვის გაადვილდეს Transformers-ის, როგორც მოდელის განმარტებების საცნობარო წყაროს გამოყენება, ჩვენ ვცდილობთ მნიშვნელოვნად შევამციროთ მოდელების შეტანის ბარიერი. ამ ძალისხმევას რამდენიმე წელია ვახორციელებთ, მაგრამ მომდევნო რამდენიმე კვირის განმავლობაში მნიშვნელოვნად დავაჩქარებთ: როგორც მოდელის მომხმარებელი, მომავალში თქვენ უნდა ნახოთ კიდევ უფრო მეტი თავსებადობა თქვენს მიერ გამოყენებულ ინსტრუმენტებში. ეს არ ნიშნავს, რომ ჩვენ ვაპირებთ თქვენს შეზღუდვას Transformers-ის გამოყენებით თქვენს ექსპერიმენტებში; არამედ ეს ნიშნავს, რომ ამ მოდელირების სტანდარტიზაციის წყალობით, შეგიძლიათ ელოდოთ, რომ თქვენს მიერ ტრენინგის, ინფერენსის და პროდუქციისთვის გამოყენებული ინსტრუმენტები ეფექტურად იმუშავებენ ერთად. როგორც მოდელის შემქმნელისთვის, ეს ნიშნავს, რომ ერთი წვლილი თქვენს მოდელს ხელმისაწვდომს გახდის ყველა შემდგომ ბიბლიოთეკაში, რომლებმაც ინტეგრირებული აქვთ ეს მოდელირების იმპლემენტაცია. ეს მრავალჯერ გვინახავს წლების განმავლობაში: მოდელის გამოშვება სტრესულია და ყველა მნიშვნელოვან ბიბლიოთეკაში ინტეგრაცია ხშირად დიდ დროს მოითხოვს. საზოგადოების მიერ მოდელის იმპლემენტაციის სტანდარტიზებით, ვიმედოვნებთ, რომ შევამცირებთ სფეროში წვლილის შეტანის ბარიერს სხვადასხვა ბიბლიოთეკებს შორის. ჩვენ მტკიცედ გვჯერა, რომ ეს განახლებული მიმართულება ხელს შეუწყობს ეკოსისტემის სტანდარტიზაციას, რომელიც ხშირად ფრაგმენტაციის რისკის ქვეშაა. მოხარული ვიქნებით მოვისმინოთ თქვენი გამოხმაურება გუნდის მიერ არჩეულ მიმართულებაზე; და ცვლილებებზე, რომელთა განხორციელებაც შეგვიძლია მიზნის მისაღწევად. გვეწვიეთ Hub-ზე, transformers-community მხარდაჭერის განყოფილებაში! მეტი სტატია ჩვენი ბლოგიდან. შესანიშნავი სიახლე! Transformers-ის, როგორც მრავალი მოდელის "ნულოვანი დღის" (day 0) ხელმისაწვდომობის წერტილის, ასევე სასურველი ინფერენსის ძრავის გამოყენების შესაძლებლობა ეპიკური მიზანია! თუ მოდელის არქიტექტურა მხარდაჭერილია Transformers-ის მიერ, შეგიძლიათ ელოდოთ, რომ ის მხარდაჭერილი იქნება ეკოსისტემის დანარჩენ ნაწილშიც. საინტერესოა, მაგრამ როგორც ჩანს, TLDR-ის მიუხედავად, Llama.CPP ინარჩუნებს საკუთარ იმპლემენტაციას და, შესაბამისად, ვერ ისარგებლებს "ნულოვანი დღის" მხარდაჭერით Transformers-ში ახალი არქიტექტურებისთვის. ცოტა იმედი მქონდა, რომ Llama მიიღებდა პირდაპირ Transformer-ის თავსებადობას. გაუგებარია, რა იცვლება იქ. შესანიშნავი შეკითხვა @usbphone! თქვენ სრულიად მართალი ხართ, რომ llama.cpp ინარჩუნებს საკუთარ იმპლემენტაციას; თუმცა, ჩვენ ვთანამშრომლობდით გუნდთან უკეთესი ურთიერთთავსებადობის მისაღწევად: ექსპორტი ფრეიმვორკებს შორის ორივე მიმართულებით (Transformers-იდან llama.cpp-ში და პირიქით). გარდა ამისა, ცოტა ხნის წინ ხშირი VLM გამოშვებების გამო, ჩვენ უშუალოდ ვთანამშრომლობდით @ngxson-თან, რათა იმპლემენტაციები „ნულოვან“ (ან „პირველ კვირას“) დღესვე არსებობდეს llama.cpp-ში, როდესაც იმპლემენტაცია უკვე არსებობს Transformers-ში. ჩვენ არ გვექნება "ავტომატური ნულოვანი დღის მხარდაჭერა", რადგან ორივე ბიბლიოთეკას განსხვავებული ბექენდი აქვს; მაგრამ მაინც შეგვიძლია ვეცადოთ...