დიდი ენობრივი მოდელების (LLM) და სხვა გენერაციული ხელოვნური ინტელექტის (AI) მოდელების განლაგება შეიძლება იყოს რთული, მათი გამოთვლითი მოთხოვნებისა და შეყოვნების საჭიროებების გამო. კომპანიებისთვის სასარგებლო რეკომენდაციების მისაცემად, რომლებიც ცდილობენ Llama 2-ის განლაგებას Amazon SageMaker-ზე Hugging Face LLM დასკვნის კონტეინერით, ჩვენ შევქმენით ყოვლისმომცველი ბენჩმარკი, რომელმაც გააანალიზა Llama 2-ის 60-ზე მეტი სხვადასხვა განლაგების კონფიგურაცია. ამ ბენჩმარკში ჩვენ შევაფასეთ Llama 2-ის სხვადასხვა ზომა Amazon EC2 ინსტანციის ტიპების დიაპაზონში, სხვადასხვა დატვირთვის დონით. ჩვენი მიზანი იყო შეგვეფასებინა შეყოვნება (მილიწამი ჟეტონზე) და გამტარობა (ჟეტონები წამში), რათა გვეპოვა ოპტიმალური განლაგების სტრატეგიები სამი საერთო გამოყენების შემთხვევისთვის. იმისათვის, რომ ეს ბენჩმარკი ყოფილიყო სამართლიანი, გამჭვირვალე და რეპროდუცირებადი, ჩვენ ვუზიარებთ ყველა აქტივს, კოდს და მონაცემებს, რომლებიც გამოვიყენეთ და შევაგროვეთ. ვიმედოვნებთ, რომ მომხმარებლებს შევუწყობთ ხელს, გამოიყენონ LLM-ები და Llama 2 ეფექტურად და ოპტიმალურად მათი კონკრეტული გამოყენების შემთხვევისთვის. ბენჩმარკსა და მონაცემებში ჩაღრმავებამდე, მოდით გადავხედოთ ტექნოლოგიებსა და მეთოდებს, რომლებიც გამოვიყენეთ. Hugging Face LLM DLC არის სპეციალურად შექმნილი დასკვნის კონტეინერი LLM-ების მარტივად განლაგებისთვის უსაფრთხო და მართვად გარემოში. DLC იკვებება Text Generation Inference (TGI)-ით, ღია კოდის, სპეციალურად შექმნილი გადაწყვეტით LLM-ების განლაგებისა და სერვისისთვის. TGI უზრუნველყოფს მაღალპროდუქტიულ ტექსტის გენერაციას ტენზორული პარალელიზმისა და დინამიური დაჯგუფების გამოყენებით ყველაზე პოპულარული ღია კოდის LLM-ებისთვის, მათ შორის StarCoder, BLOOM, GPT-NeoX, Falcon, Llama და T5. VMware, IBM, Grammarly, Open-Assistant, Uber, Scale AI და მრავალი სხვა უკვე იყენებს Text Generation Inference-ს. Llama 2 არის Meta-ს LLM-ების ოჯახი, გაწვრთნილი 2 ტრილიონ ჟეტონზე. Llama 2 ხელმისაწვდომია სამ ზომად – 7B, 13B და 70B პარამეტრი – და შემოაქვს მნიშვნელოვანი გაუმჯობესებები, როგორიცაა კონტექსტის უფრო დიდი სიგრძე, კომერციული ლიცენზირება და ოპტიმიზებული ჩეთის შესაძლებლობები განმტკიცებითი სწავლის მეშვეობით Llama (1)-თან შედარებით. თუ გსურთ მეტი გაიგოთ Llama 2-ის შესახებ, იხილეთ ეს ბლოგპოსტი. GPTQ არის ვარჯიშის შემდგომი კვანტიზაციის მეთოდი LLM-ების, როგორიცაა GPT, შესაკუმშად. GPTQ კუმშავს GPT (დეკოდერი) მოდელებს მოდელში თითოეული წონის შესანახად საჭირო ბიტების რაოდენობის შემცირებით, 32 ბიტიდან მხოლოდ 3-4 ბიტამდე. ეს ნიშნავს, რომ მოდელი ბევრად ნაკლებ მეხსიერებას იკავებს და შეუძლია იმუშაოს ნაკლებ აპარატურაზე, მაგალითად, ერთ GPU-ზე 13B Llama2 მოდელებისთვის. GPTQ აანალიზებს მოდელის თითოეულ ფენას ცალკე და აახლოებს წონებს საერთო სიზუსტის შესანარჩუნებლად. თუ გსურთ მეტი გაიგოთ და როგორ გამოიყენოთ ის, იხილეთ „ღია LLM-ების ოპტიმიზაცია GPTQ-ისა და Hugging Face Optimum-ის გამოყენებით“. Llama 2-ის რეალური წარმადობის შესაფასებლად, ჩვენ გამოვცადეთ 3 მოდელის ზომა (7B, 13B, 70B პარამეტრი) ოთხ სხვადასხვა ინსტანციის ტიპზე ოთხი სხვადასხვა დატვირთვის დონით, რამაც 60 სხვადასხვა კონფიგურაცია გამოიწვია. მეტრიკად გამოვიყენეთ გამტარობა და შეყოვნება. ესენი გამოვიყენეთ Llama-ს წარმადობის შესაფასებლად სხვადასხვა დაყენებაზე, რათა გაგვეგო უპირატესობები და კომპრომისები. თუ გსურთ თავად გაუშვათ ბენჩმარკი, ჩვენ შევქმენით Github რეპოზიტორიუმი. ბენჩმარკის სრულ მონაცემებს ნახავთ Amazon SageMaker Benchmark: TGI 1.0.3 Llama 2 ფურცელში. უმი მონაცემები ხელმისაწვდომია GitHub-ზე. თუ ყველა დეტალი გაინტერესებთ, გირჩევთ, ღრმად ჩაუღრმავდეთ მოწოდებულ უმ მონაცემებს. ბენჩმარკის საფუძველზე, ჩვენ გთავაზობთ კონკრეტულ რეკომენდაციებს LLM-ის ოპტიმალური განლაგებისთვის, თქვენი პრიორიტეტებიდან გამომდინარე ხარჯებს, გამტარობასა და შეყოვნებას შორის, Llama 2 მოდელის ყველა ზომისთვის. შენიშვნა: რეკომენდაციები ეფუძნება ჩვენ მიერ გამოცდილ კონფიგურაციას. მომავალში, სხვა გარემოები ან აპარატურული შეთავაზებები, როგორიცაა Inferentia2, შეიძლება იყოს კიდევ უფრო ხარჯთეფექტური. ყველაზე ხარჯთეფექტური კონფიგურაცია ფოკუსირებულია წარმადობას (შეყოვნება და გამტარობა) და ხარჯს შორის სწორ ბალანსზე. დახარჯულ დოლარზე გამომავლის მაქსიმიზაცია არის მიზანი. ჩვენ შევისწავლეთ წარმადობა 5 ერთდროული მოთხოვნის დროს. ჩვენ ვხედავთ, რომ GPTQ გთავაზობთ საუკეთესო ხარჯთეფექტურობას, რაც მომხმარებლებს საშუალებას აძლევს განალაგონ Llama 2 13B ერთ GPU-ზე. საუკეთესო გამტარობის კონფიგურაცია მაქსიმალურად ზრდის წამში გენერირებული ჟეტონების რაოდენობას. ეს შეიძლება თან ახლდეს საერთო შეყოვნების გარკვეულ შემცირებას, რადგან ერთდროულად მეტ ჟეტონს ამუშავებთ. ჩვენ შევისწავლეთ წამში უმაღლესი ჟეტონების წარმადობა ოცი ერთდროული მოთხოვნის დროს, ინსტანციის ღირებულების გათვალისწინებით. უმაღლესი გამტარობა აღინიშნა Llama 2 13B-ისთვის ml.p4d.24xlarge ინსტანციაზე 688 ჟეტონი/წმ-ით. საუკეთესო შეყოვნების კონფიგურაცია მინიმუმამდე ამცირებს ერთი ჟეტონის გენერირებისთვის საჭირო დროს. დაბალი შეყოვნება მნიშვნელოვანია რეალურ დროში გამოყენების შემთხვევებისთვის და მომხმარებლისთვის კარგი გამოცდილების უზრუნველსაყოფად, მაგალითად, ჩატის აპლიკაციებისთვის. ჩვენ შევისწავლეთ ყველაზე დაბალი მედიანური მილიწამი ჟეტონზე 1 ერთდროული მოთხოვნის დროს. ყველაზე დაბალი საერთო შეყოვნება აღინიშნა Llama 2 7B-ისთვის ml.g5.12xlarge ინსტანციაზე 16.8 მწ/ჟეტონი-ით. ამ ბენჩმარკში, ჩვენ გამოვცადეთ Llama 2-ის 60 კონფიგურაცია Amazon SageMaker-ზე. ხარჯთეფექტური განლაგებისთვის, აღმოვაჩინეთ, რომ 13B Llama 2 GPTQ-ით g5.2xlarge-ზე უზრუნველყოფს 71 ჟეტონს/წმ საათში 1.55 დოლარის ღირებულებით. მაქსიმალური გამტარობისთვის, 13B Llama 2-მა მიაღწია 296 ჟეტონს/წმ ml.g5.12xlarge-ზე 2.21 დოლარად 1M ჟეტონზე.