2022 წელს მისი პირველი გამოშვების შემდეგ, Text-Generation-Inference (TGI) Hugging Face-სა და ხელოვნური ინტელექტის საზოგადოებას სთავაზობს წარმადობაზე ორიენტირებულ გადაწყვეტას დიდი ენობრივი მოდელების (LLMs) მარტივად განსათავსებლად. TGI თავდაპირველად გვთავაზობდა თითქმის უკოდო (no-code) გადაწყვეტას Hugging Face Hub-დან მოდელების ჩასატვირთად და მათ NVIDIA GPU-ებზე საწარმოო გარემოში განსათავსებლად. დროთა განმავლობაში, მხარდაჭერა გაფართოვდა და მოიცვა AMD Instinct GPU-ები, Intel GPU-ები, AWS Trainium/Inferentia, Google TPU და Intel Gaudi. წლების განმავლობაში, გაჩნდა მრავალი ინფერენსინგის გადაწყვეტა, მათ შორის vLLM, SGLang, llama.cpp, TensorRT-LLM და სხვა, რამაც დაანაწევრა მთლიანი ეკოსისტემა. სხვადასხვა მოდელებს, აპარატურასა და გამოყენების შემთხვევებს შესაძლოა სპეციფიკური ბეკენდი (backend) დასჭირდეს ოპტიმალური წარმადობის მისაღწევად. თუმცა, თითოეული ბეკენდის სწორად კონფიგურაცია, ლიცენზიების მართვა და არსებულ ინფრასტრუქტურაში მათი ინტეგრირება მომხმარებლებისთვის რთული შეიძლება იყოს. ამ პრობლემის მოსაგვარებლად, სიამაყით წარმოგიდგენთ TGI Backends-ის კონცეფციას. ეს ახალი არქიტექტურა იძლევა მოქნილობას, ინტეგრირდეს ნებისმიერ ზემოთ ხსენებულ გადაწყვეტასთან TGI-ის მეშვეობით, როგორც ერთიან ფრონტენდ (frontend) ფენასთან. ეს ცვლილება საზოგადოებას უადვილებს მიიღოს საუკეთესო წარმადობა მათი საწარმოო დატვირთვებისთვის, ბეკენდების შეცვლით მათი მოდელირების, აპარატურის და წარმადობის მოთხოვნების შესაბამისად. Hugging Face-ის გუნდი მოხარულია, რომ წვლილი შეაქვს და ითანამშრომლებს vLLM-ის, llama.cpp-ის, TensorRT-LLM-ის შემქმნელ გუნდებთან, ასევე AWS-ის, Google-ის, NVIDIA-ს, AMD-ის და Intel-ის გუნდებთან, რათა TGI-ის მომხმარებლებს შესთავაზოს მყარი და თანმიმდევრული გამოცდილება, მიუხედავად იმისა, თუ რომელ ბეკენდს და აპარატურას აირჩევენ. TGI შედგება მრავალი კომპონენტისგან, რომლებიც ძირითადად Rust-სა და Python-ზეა დაწერილი. Rust განაპირობებს HTTP და განრიგის (scheduling) ფენებს, ხოლო Python რჩება სასურველ ენად მოდელირებისთვის. მოკლედ რომ ვთქვათ: Rust საშუალებას გვაძლევს გავაუმჯობესოთ სერვისის ფენის საერთო სიმტკიცე სტატიკური ანალიზითა და კომპილატორზე დაფუძნებული მეხსიერების უსაფრთხოების უზრუნველყოფით: ის უფრო მარტივად უზრუნველყოფს მრავალ ბირთვზე მასშტაბირების შესაძლებლობას იგივე უსაფრთხოების გარანტიებით. Rust-ის ძლიერი ტიპის სისტემის გამოყენება HTTP ფენისა და განრიგის შემქმნელისთვის შესაძლებელს ხდის მეხსიერების პრობლემების თავიდან აცილებას კონკურენტულობის მაქსიმიზაციისას, Python-ზე დაფუძნებულ გარემოებში Global Interpreter Lock (GIL)-ის გვერდის ავლით. რაც შეეხება Rust-ს... სიურპრიზი, ეს არის TGI-ის საწყისი წერტილი ახალი ბეკენდის ინტეგრირებისთვის - 🤗 ამ წლის დასაწყისში, TGI-ის გუნდი მუშაობდა ფუნდამენტური მექანიზმების გამოვლენაზე, რათა გაერკვია, თუ როგორ იყო დაკავშირებული რეალური HTTP სერვერი და განრიგის შემქმნელი. ამ მუშაობამ შემოიტანა ახალი Rust trait „Backend“ არსებული ინფერენსის ძრავისა და მომავლის ძრავის დასაკავშირებლად. ამ ახალი Backend ინტერფეისის (ან „trait“-ის Rust-ის ტერმინოლოგიით) ქონა გზას უხსნის მოდულარობას და შესაძლებელს ხდის შემომავალი მოთხოვნების გადამისამართებას სხვადასხვა მოდელირებისა და შესრულების ძრავებზე. TGI-ის ახალი მრავალბეკენდური შესაძლებლობები მრავალ მნიშვნელოვან სამომავლო გეგმის შესაძლებლობას ქმნის. 2025 წლის მოლოდინში, სიამოვნებით გაგიზიარებთ TGI-ის იმ განვითარებებს, რომლებიც ყველაზე მეტად გვახარებს: დარწმუნებულნი ვართ, რომ TGI Backends ხელს შეუწყობს LLM-ების განთავსების გამარტივებას, რაც მრავალფეროვნებასა და წარმადობას მოუტანს TGI-ის ყველა მომხმარებელს. მალე შეძლებთ TGI Backends-ის გამოყენებას უშუალოდ Inference Endpoints-ში. მომხმარებლებს შეეძლებათ მარტივად განათავსონ მოდელები TGI Backends-ით სხვადასხვა აპარატურაზე უმაღლესი დონის წარმადობითა და საიმედოობით. თვალყური ადევნეთ შემდეგ ბლოგპოსტს, სადაც უფრო დეტალურად განვიხილავთ მომავალი ბეკენდების ტექნიკურ დეტალებსა და წარმადობის ბენჩმარკებს!