ტექსტის გენერაციის პაიპლაინი Intel® Gaudi® 2-ზე: მოქნილობა და Llama 2-ის ინტეგრაცია
წარმოდგენილია პერსონალური პაიპლაინის კლასი, რომელიც შექმნილია Intel® Gaudi® 2 AI აქსელერატორისთვის, რაც უზრუნველყოფს ტექსტის გენერაციის მოქნილობას, სიმარტივეს და აბსტრაქციის მაღალ დონეს. ის მხარს უჭერს Llama 2 მოდელებს და ინტეგრირდება LangChain-თან, რაც მომხმარებლებს საშუალებას აძლევს მარტივად შექმნან ტექსტი, როგორც სტანდარტული სკრიპტებით, ასევე საკუთარ პროექტებში. სტატია დეტალურად აღწერს წვდომის მიღების, ინსტალაციისა და გამოყენების ნაბიჯებს, ასევე Llama 2-ის ლიცენზირების მნიშვნელოვან დეტალებს.
ეს პერსონალური პაიპლაინის კლასი შექმნილია იმისთვის, რომ შესთავაზოს დიდი მოქნილობა და გამოყენების სიმარტივე. გარდა ამისა, ის უზრუნველყოფს აბსტრაქციის მაღალ დონეს და ასრულებს ტექსტის გენერაციის სრულ ციკლს (end-to-end), რაც მოიცავს წინასწარ და შემდგომ დამუშავებას.
პაიპლაინის გამოყენების მრავალი გზა არსებობს – შეგიძლიათ გაუშვათ `run_pipeline.py` სკრიპტი Optimum Habana-ს საცავიდან, დაამატოთ პაიპლაინის კლასი თქვენს Python სკრიპტებში, ან მოახდინოთ LangChain-ის კლასების ინიციალიზაცია მისით.
ვინაიდან Llama 2 მოდელები წარმოადგენენ დახურული საცავის ნაწილს, თქვენ უნდა მოითხოვოთ წვდომა, თუ ჯერ არ გაგიკეთებიათ ეს. პირველ რიგში, უნდა ეწვიოთ Meta-ს ვებგვერდს და დაეთანხმოთ პირობებსა და დებულებებს. მას შემდეგ, რაც Meta მოგანიჭებთ წვდომას (ამას შეიძლება ერთი-ორი დღე დასჭირდეს), უნდა მოითხოვოთ წვდომა Hugging Face-ში, იმავე ელფოსტის მისამართის გამოყენებით, რომელიც მიუთითეთ Meta-ს ფორმაში. წვდომის მიღების შემდეგ, გთხოვთ, შეხვიდეთ თქვენს Hugging Face ანგარიშში შემდეგი ბრძანების გაშვებით (დაგჭირდებათ წვდომის ტოკენი, რომლის მიღებაც შეგიძლიათ თქვენი მომხმარებლის პროფილის გვერდიდან):
```bash
huggingface-cli login
```
ასევე, უნდა დააინსტალიროთ Optimum Habana-ს უახლესი ვერსია და მოახდინოთ საცავის კლონირება, რათა მიიღოთ წვდომა პაიპლაინის სკრიპტზე. ამისთვის საჭირო ბრძანებებია:
```bash
pip install optimum[habana]
git clone https://github.com/huggingface/optimum-habana.git
```
იმ შემთხვევაში, თუ გეგმავთ განაწილებული ინფერენსის გაშვებას, დააინსტალირეთ DeepSpeed თქვენი SynapseAI ვერსიის მიხედვით. ამ კონკრეტულ შემთხვევაში, გამოყენებულია SynapseAI 1.14.0.
ახლა უკვე ყველაფერი მზად არის პაიპლაინით ტექსტის გენერაციის შესასრულებლად!
პირველ რიგში, გადადით თქვენი `optimum-habana` ჩამოტვირთვის შემდეგ დირექტორიაში, სადაც განთავსებულია პაიპლაინის სკრიპტები, და მიჰყევით `README` ფაილში მოცემულ ინსტრუქციებს `PYTHONPATH`-ის განახლებისთვის.
თუ გსურთ ტექსტის თანმიმდევრობის გენერირება თქვენს მიერ არჩეული მოთხოვნიდან, აქ მოცემულია მაგალითი ბრძანება:
```bash
python run_pipeline.py --model_name_or_path meta-llama/Llama-2-7b-hf --prompt "The quick brown fox"
```
ასევე შეგიძლიათ გადასცეთ მრავალი მოთხოვნა, როგორც შეყვანა, და შეცვალოთ ტემპერატურა (`temperature`) და `top_p` მნიშვნელობები გენერაციისთვის შემდეგნაირად:
```bash
python run_pipeline.py --model_name_or_path meta-llama/Llama-2-7b-hf --prompt "The quick brown fox", "The lazy dog" --temperature 0.7 --top_p 0.9
```
Llama-2-70b-ის მსგავსი დიდი მოდელებით ტექსტის გენერირებისთვის, აქ მოცემულია მაგალითი ბრძანება DeepSpeed-ით პაიპლაინის გასაშვებად:
```bash
deepspeed run_pipeline.py --model_name_or_path meta-llama/Llama-2-70b-hf --prompt "Once upon a time" --deepspeed
```
პაიპლაინის კლასი შეგიძლიათ გამოიყენოთ თქვენს საკუთარ სკრიპტებში, როგორც ეს მოცემულია ქვემოთ მოცემულ მაგალითში. გაუშვით შემდეგი მაგალითი სკრიპტი `optimum-habana/examples/text-generation/text-generation-pipeline`-დან.
```python
from optimum.habana.examples.text_generation.text_generation_pipeline import GaudiTextGenerationPipeline
from transformers import AutoTokenizer
model_name_or_path = "meta-llama/Llama-2-7b-hf" # or any other model name
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)
pipeline = GaudiTextGenerationPipeline(model_name_or_path=model_name_or_path, tokenizer=tokenizer)
result = pipeline("Hello, my name is", max_new_tokens=50)
print(result)
```
ზემოთ მოყვანილი სკრიპტის გაშვება მოგიწევთ `python .py --model_name_or_path მოდელის_სახელი` ბრძანებით, ვინაიდან `--model_name_or_path` სავალდებულო არგუმენტია. თუმცა, მოდელის სახელი შეიძლება პროგრამულად შეიცვალოს, როგორც ეს ნაჩვენებია Python-ის ნაწყვეტში. ეს გვაჩვენებს, რომ პაიპლაინის კლასი მუშაობს სტრიქონულ შეყვანაზე და ასრულებს მონაცემთა როგორც წინასწარ, ასევე შემდგომ დამუშავებას ჩვენთვის.
ტექსტის გენერაციის პაიპლაინი შეიძლება გადაეცეს LangChain-ის კლასებს `use_with_langchain` კონსტრუქტორის არგუმენტის გამოყენებით. LangChain-ის ინსტალაცია შეგიძლიათ შემდეგნაირად:
```bash
pip install langchain
```
აქ მოცემულია მაგალითი სკრიპტი, რომელიც გვიჩვენებს, თუ როგორ შეიძლება პაიპლაინის კლასის გამოყენება LangChain-თან ერთად:
```python
from optimum.habana.examples.text_generation.text_generation_pipeline import GaudiTextGenerationPipeline
from transformers import AutoTokenizer
from langchain.llms import HuggingFacePipeline
model_name_or_path = "meta-llama/Llama-2-7b-hf"
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)
pipeline = GaudiTextGenerationPipeline(model_name_or_path=model_name_or_path, tokenizer=tokenizer)
llm = HuggingFacePipeline(pipeline=pipeline, use_with_langchain=True)
# Now you can use llm with LangChain
# For example:
# from langchain.prompts import PromptTemplate
# prompt = PromptTemplate.from_template("Tell me a story about {animal}.")
# print(llm(prompt.format(animal="a brave knight")))
```
პაიპლაინის კლასი ვალიდირებულია LangChain-ის ვერსიისთვის 0.0.191 და შესაძლოა არ იმუშაოს პაკეტის სხვა ვერსიებთან.
ჩვენ წარმოგიდგინეთ პერსონალური ტექსტის გენერაციის პაიპლაინი Intel® Gaudi® 2 AI აქსელერატორზე, რომელიც იღებს ერთ ან მრავალ მოთხოვნას შეყვანად. ეს პაიპლაინი გთავაზობთ დიდ მოქნილობას მოდელის ზომის, ასევე ტექსტის გენერაციის ხარისხზე მოქმედი პარამეტრების თვალსაზრისით. გარდა ამისა, მისი გამოყენება და თქვენს სკრიპტებში ინტეგრირება ძალიან მარტივია და თავსებადია LangChain-თან.
წინასწარ გაწვრთნილი მოდელის გამოყენება ექვემდებარება მესამე მხარის ლიცენზიებთან შესაბამისობას, მათ შორის „Llama 2 Community License Agreement“ (LLAMAV2). LLAMA2 მოდელის დანიშნულებისამებრ გამოყენების, ბოროტად გამოყენების და სფეროს მიღმა გამოყენების, მიზნობრივი მომხმარებლებისა და დამატებითი პირობების შესახებ რეკომენდაციებისთვის, გთხოვთ, გაეცნოთ ინსტრუქციებს ამ ბმულზე: https://ai.meta.com/llama/license/. მომხმარებლები ეკისრებათ ერთადერთ პასუხისმგებლობას მესამე მხარის ლიცენზიების დაცვასა და შესრულებაზე, ხოლო Habana Labs უარს ამბობს პასუხისმგებლობაზე და არ აიღებს მას მომხმარებლების მიერ მესამე მხარის ლიცენზიების გამოყენებასთან ან შესაბამისობასთან დაკავშირებით.
იმისათვის, რომ შეძლოთ დახურული მოდელების, როგორიცაა Llama-2-70b-hf, გაშვება, გჭირდებათ შემდეგი:
* მეტი სტატია ჩვენი ბლოგიდან ·
* დარეგისტრირდით ან შეხვიდეთ კომენტარისთვის
თეგები:
#ხელოვნური ინტელექტი
#intel gaudi 2
#optimum habana
#deepspeed
#ტექსტის გენერაცია
#langchain
#ai აქსელერატორი
#llama 2
#პაიპლაინი
წყარო: huggingface.co
AI-ით გადამუშავებული