ტექსტის გენერირების ინფერენცია (TGI) არის სპეციალურად შექმნილი გადაწყვეტა დიდი ენობრივი მოდელების (LLMs) მასშტაბური წარმოების დატვირთვისთვის განთავსებისა და სერვისისთვის. TGI უზრუნველყოფს მაღალეფექტურ ტექსტის გენერაციას ტენზორული პარალელიზმისა და უწყვეტი დაჯგუფების გამოყენებით ყველაზე პოპულარული ღია LLM-ებისთვის, მათ შორის Llama-ს, Mistral-ის და სხვა მოდელებისთვის. ტექსტის გენერირების ინფერენციას საწარმოო გარემოში იყენებენ ისეთი კომპანიები, როგორებიცაა Grammarly, Uber, Deutsche Telekom და მრავალი სხვა. TGI-ის ინტეგრაცია Amazon SageMaker-ში, AWS Inferentia2-თან ერთად, წარმოადგენს მძლავრ გადაწყვეტას და ეფექტიან ალტერნატივას GPU-ებისთვის საწარმოო LLM აპლიკაციების შესაქმნელად. უწყვეტი ინტეგრაცია უზრუნველყოფს მოდელების მარტივ განთავსებასა და შენარჩუნებას, რაც LLM-ებს უფრო ხელმისაწვდომს და მასშტაბურს ხდის წარმოების ფართო სპექტრის ამოცანებისთვის. Amazon SageMaker-ზე AWS Inferentia2-ისთვის განკუთვნილი ახალი TGI-ით, AWS-ის მომხმარებლებს შეუძლიათ ისარგებლონ იმავე ტექნოლოგიებით, რომლებიც საფუძვლად უდევს მაღალი პარალელურობის, დაბალი ლატენტურობის LLM გამოცდილებებს, როგორიცაა HuggingChat, OpenAssistant და Serverless Endpoints LLM-ებისთვის Hugging Face Hub-ზე. ეს სახელმძღვანელო გვიჩვენებს, თუ რამდენად ადვილია თანამედროვე LLM-ის, როგორიცაა Zephyr 7B, განთავსება AWS Inferentia2-ზე Amazon SageMaker-ის გამოყენებით. Zephyr არის mistralai/Mistral-7B-v0.1-ის 7B ვერსია, რომელიც დაფუძნებულია საჯაროდ ხელმისაწვდომი და სინთეზური მონაცემთა ნაკრებების ნაზავზე და გაწვრთნილია პირდაპირი უპირატესობის ოპტიმიზაციის (DPO) გამოყენებით, როგორც ეს დეტალურად არის აღწერილი ტექნიკურ ანგარიშში. მოდელი გამოშვებულია Apache 2.0 ლიცენზიით, რაც უზრუნველყოფს ფართო ხელმისაწვდომობასა და გამოყენებას. ჩვენ გაჩვენებთ, თუ როგორ დავიწყოთ. Zephyr-ის Amazon SageMaker-ზე განსათავსებლად გამოვიყენებთ sagemaker python SDK-ს. საჭიროა დავრწმუნდეთ, რომ გვაქვს AWS ანგარიში კონფიგურირებული და sagemaker python SDK დაინსტალირებული. თუ SageMaker-ს იყენებთ ლოკალურ გარემოში, გჭირდებათ წვდომა IAM როლზე SageMaker-ისთვის საჭირო ნებართვებით. მეტი ინფორმაციის მიღება შეგიძლიათ აქ. ახალი Hugging Face TGI Neuronx DLC-ების გამოყენება შესაძლებელია AWS Inferentia2-ზე ინფერენციის გასაშვებად. შეგიძლიათ გამოიყენოთ sagemaker SDK-ის get_huggingface_llm_image_uri მეთოდი შესაბამისი Hugging Face TGI Neuronx DLC URI-ის მისაღებად თქვენი სასურველი ბექენდის, სესიის, რეგიონისა და ვერსიის მიხედვით. ყველა ხელმისაწვდომი ვერსიის ნახვა შეგიძლიათ აქ. შენიშვნა: ამ ბლოგპოსტის დაწერის დროს, Hugging Face LLM DLC-ის უახლესი ვერსია ჯერ არ არის ხელმისაწვდომი get_huggingface_llm_image_uri მეთოდის მეშვეობით. ამის ნაცვლად გამოვიყენებთ კონტეინერის პირდაპირ URI-ს. ტექსტის გენერირების ინფერენცია (TGI) Inferentia2-ზე მხარს უჭერს პოპულარულ ღია LLM-ებს, მათ შორის Llama-ს, Mistral-ს და სხვა. მხარდაჭერილი მოდელების (ტექსტის გენერაცია) სრული სიის ნახვა შეგიძლიათ აქ. **LLM-ების კომპილაცია Inferentia2-ისთვის** ამ ბლოგპოსტის დაწერის დროს, AWS Inferentia2 არ უჭერს მხარს დინამიურ ფორმებს ინფერენციისთვის, რაც ნიშნავს, რომ წინასწარ უნდა მივუთითოთ თანმიმდევრობის სიგრძე და დაჯგუფების ზომა. იმისათვის, რომ მომხმარებლებისთვის გამარტივდეს Inferentia2-ის სრული სიმძლავრის გამოყენება, ჩვენ შევქმენით ნეირონული მოდელის ქეში, რომელიც შეიცავს წინასწარ კომპილირებულ კონფიგურაციებს ყველაზე პოპულარული LLM-ებისთვის. ქეშირებული კონფიგურაცია განისაზღვრება მოდელის არქიტექტურით (Mistral), მოდელის ზომით (7B), ნეირონის ვერსიით (2.16), Inferentia ბირთვების რაოდენობით (2), დაჯგუფების ზომით (2) და თანმიმდევრობის სიგრძით (2048). ეს ნიშნავს, რომ მოდელის თავად კომპილაცია არ გვჭირდება, არამედ შეგვიძლია გამოვიყენოთ წინასწარ კომპილირებული მოდელი ქეშიდან. ამის მაგალითებია mistralai/Mistral-7B-v0.1 და HuggingFaceH4/zephyr-7b-beta. კომპილირებული/ქეშირებული კონფიგურაციების ნახვა შეგიძლიათ Hugging Face Hub-ზე. თუ თქვენი სასურველი კონფიგურაცია ჯერ არ არის ქეშირებული, შეგიძლიათ თავად მოახდინოთ მისი კომპილაცია Optimum CLI-ის გამოყენებით ან გააგზავნოთ მოთხოვნა Cache repository-ში. ამ პოსტისთვის ჩვენ ხელახლა მოვახდინეთ HuggingFaceH4/zephyr-7b-beta-ს კომპილაცია შემდეგი ბრძანებისა და პარამეტრების გამოყენებით inf2.8xlarge ინსტანციაზე და ავტვირთეთ Hub-ზე aws-neuron/zephyr-7b-seqlen-2048-bs-4-cores-2-ზე. თუ თქვენ ცდილობთ LLM-ის კომპილაციას კონფიგურაციით, რომელიც ჯერ არ არის ქეშირებული, ამას შეიძლება 45 წუთი დასჭირდეს. **TGI Neuronx ენდპოინტის განთავსება** მოდელის Amazon SageMaker-ზე განთავსებამდე, უნდა განვსაზღვროთ TGI Neuronx ენდპოინტის კონფიგურაცია. უნდა დავრწმუნდეთ, რომ განსაზღვრულია შემდეგი დამატებითი პარამეტრები: ტრადიციული TGI პარამეტრების განსაზღვრა მაინც გვჭირდება: HuggingFaceModel-ის შექმნის შემდეგ, შეგვიძლია მისი განთავსება Amazon SageMaker-ზე `deploy` მეთოდის გამოყენებით. მოდელს განვათავსებთ ml.inf2.8xlarge ინსტანციის ტიპით. SageMaker შექმნის ჩვენს ენდპოინტს და განათავსებს მასზე მოდელს. ამას შეიძლება 10-15 წუთი დასჭირდეს. ჩვენი ენდპოინტის განთავსების შემდეგ, შეგვიძლია მასზე ინფერენციის გაშვება, `predict` მეთოდის გამოყენებით predictor-დან. ჩვენ შეგვიძლია მივაწოდოთ სხვადასხვა პარამეტრები გენერაციაზე ზემოქმედებისთვის, მათი დამატებით payload-ის `parameters` ატრიბუტში. მხარდაჭერილი პარამეტრების ნახვა შეგიძლიათ აქ, ან TGI-ის ღია API სპეციფიკაციაში swagger დოკუმენტაციაში. HuggingFaceH4/zephyr-7b-beta არის საკომუნიკაციო ჩატის მოდელი, რაც ნიშნავს, რომ შეგვიძლია მასთან ჩატა შემდეგი მოთხოვნის სტრუქტურის გამოყენებით: მოთხოვნის ხელით მომზადება შეცდომების წყაროა, ამიტომ შეგვიძლია გამოვიყენოთ `apply_chat_template` მეთოდი ტოკენიზა...