სტუბი დამწყებთათვის ჩახუტებული სახის LLM ინსტრუმენტების სრული სახელმძღვანელო - Unite.AI
დაკავშირება ჩვენთან ერთად

AI Tools 101

დამწყებთათვის ჩახუტებული სახის LLM ინსტრუმენტების სრული სახელმძღვანელო

mm
განახლებულია on
ჩახუტებული სახე - სრული გზამკვლევი

Hugging Face არის ხელოვნური ინტელექტის კვლევითი ლაბორატორია და ცენტრი, რომელმაც შექმნა მეცნიერთა, მკვლევართა და ენთუზიასტთა საზოგადოება. მოკლე დროში Hugging Face-მა მოიპოვა მნიშვნელოვანი ადგილი ხელოვნური ინტელექტის სივრცეში. ტექნიკური გიგანტები მათ შორის Google-მა, Amazon-მა და Nvidia-მ გააძლიერეს AI სტარტაპი Hugging Face მნიშვნელოვანი ინვესტიციებით და შეაფასეს $ 4.5 მილიარდი.

ამ სახელმძღვანელოში ჩვენ წარმოგიდგენთ ტრანსფორმატორებს, LLM-ებს და იმას, თუ როგორ თამაშობს Hugging Face ბიბლიოთეკა ღია წყაროს AI საზოგადოების ხელშეწყობაში. ჩვენ ასევე განვიხილავთ Hugging Face-ის ძირითად მახასიათებლებს, მათ შორის მილსადენებს, მონაცემთა ნაკრებებს, მოდელებს და სხვა, პითონის პრაქტიკული მაგალითებით.

ტრანსფორმატორები NLP-ში

2017 წელს კორნელის უნივერსიტეტმა გამოაქვეყნა გავლენიანი ნაშრომი, რომელიც გააცნო ტრანსფორმატორების. ეს არის ღრმა სწავლის მოდელები, რომლებიც გამოიყენება NLP-ში. ამ აღმოჩენამ ხელი შეუწყო ისეთი დიდი ენობრივი მოდელების განვითარებას, როგორიცაა ჩატი GPT.

დიდი ენის მოდელები ან LLM არის AI სისტემები, რომლებიც იყენებენ ტრანსფორმატორებს ადამიანის მსგავსი ტექსტის გასაგებად და შესაქმნელად. თუმცა, ამ მოდელების შექმნა ძვირია, ხშირად მილიონობით დოლარს მოითხოვს, რაც ზღუდავს მათ ხელმისაწვდომობას დიდი კომპანიებისთვის.

სახეზე ჩახუტება2016 წელს დაწყებული, მიზნად ისახავს NLP მოდელები ყველასთვის ხელმისაწვდომი გახდეს. მიუხედავად იმისა, რომ კომერციული კომპანიაა, ის გთავაზობთ ღია წყაროს რესურსებს, რომლებიც ეხმარება ადამიანებს და ორგანიზაციებს ხელმისაწვდომ ფასად შექმნან და გამოიყენონ ტრანსფორმატორის მოდელები. მანქანათმცოდნეობა არის კომპიუტერების სწავლება, რათა შეასრულონ დავალებები შაბლონების ამოცნობით, ხოლო ღრმა სწავლება, მანქანათმცოდნეობის ქვეჯგუფი, ქმნის ქსელს, რომელიც დამოუკიდებლად სწავლობს. ტრანსფორმატორები არის ღრმა სწავლის არქიტექტურის ტიპი, რომელიც ეფექტურად და მოქნილად იყენებს შეყვანის მონაცემებს, რაც მას პოპულარულ არჩევანს ხდის დიდი ენის მოდელების შესაქმნელად, ტრენინგის დროის ნაკლები მოთხოვნების გამო.

როგორ ხელს უწყობს სახის ჩახუტება NLP და LLM პროექტებს

ჩახუტებული სახის ეკოსისტემა - მოდელები, მონაცემთა ბაზა, მეტრიკა, ტრანსფორმატორები, აჩქარება, ტოკენიზატორები

Hugging Face-მა LLM-ებთან მუშაობა გაამარტივა, შეთავაზებით:

  1. წინასწარ მომზადებული მოდელების არჩევანი.
  2. ხელსაწყოები და მაგალითები ამ მოდელების თქვენს კონკრეტულ საჭიროებებზე დასაზუსტებლად.
  3. მარტივი განლაგების ვარიანტები სხვადასხვა გარემოში.

დიდი რესურსი, რომელიც ხელმისაწვდომია Hugging Face-ის საშუალებით, არის ის გახსენით LLM ლიდერბორდი. ფუნქციონირებს როგორც ყოვლისმომცველი პლატფორმა, ის სისტემატურად აკონტროლებს, აფასებს და აფასებს ფართო ენობრივი მოდელების (LLMs) და ჩეთბოტების სპექტრის ეფექტურობას, რაც უზრუნველყოფს ღია კოდის დომენში მიღწევების მკაფიო ანალიზს.

LLM Benchmarks ზომავს მოდელებს ოთხი მეტრიკის მიხედვით:

  • AI2 მსჯელობის გამოწვევა (25-კადრი) - კითხვების სერია დაწყებითი მეცნიერების სილაბუსის გარშემო.
  • ჰელასვაგი (10-shot) - საღი აზრის დასკვნის ტესტი, რომელიც, თუმცა ადამიანებისთვის მარტივია, ეს მეტრიკა მნიშვნელოვანი გამოწვევაა უახლესი მოდელებისთვის.
  • MMLU (5 კადრი) — მრავალმხრივი შეფასება, რომელიც ეხება ტექსტის მოდელის ცოდნას 57 სხვადასხვა დომენში, რომელიც მოიცავს ძირითად მათემატიკას, სამართალს და კომპიუტერულ მეცნიერებებს, მათ შორის.
  • TruthfulQA (0-shot) - ინსტრუმენტი მოდელის ტენდენციის დასადგენად, ეხმიანება ხშირად გვხვდება ონლაინ დეზინფორმაციას.

საორიენტაციო ნიშნები, რომლებიც აღწერილია ისეთი ტერმინების გამოყენებით, როგორიცაა „25-shot“, „10-shot“, „5-shot“ და „0-shot“, მიუთითებს იმ სწრაფი მაგალითების რაოდენობაზე, რომლებიც მოცემულია მოდელის შეფასების პროცესში. შეაფასოს მისი შესრულება და მსჯელობის შესაძლებლობები სხვადასხვა სფეროში. "რამდენიმე დარტყმის" პარადიგმებში მოდელებს ეძლევათ მაგალითების მცირე რაოდენობა, რათა დაეხმაროს მათ პასუხების ხელმძღვანელობას, ხოლო "0-shot" პარადიგმებში, მოდელები არ იღებენ მაგალითებს და უნდა დაეყრდნონ მხოლოდ მათ წინასწარ არსებულ ცოდნას სათანადო რეაგირებისთვის. .

ჩახუტებული სახის კომპონენტები

მილსადენები

"მილსადენებიეს არის Hugging Face-ის ტრანსფორმატორების ბიბლიოთეკის ნაწილი, ფუნქცია, რომელიც ხელს უწყობს წინასწარ მომზადებული მოდელების მარტივად გამოყენებას, რომლებიც ხელმისაწვდომია Hugging Face საცავში. ის უზრუნველყოფს ინტუიციურ API-ს დავალებების მთელი რიგისთვის, მათ შორის სენტიმენტების ანალიზს, კითხვებზე პასუხის გაცემას, ნიღბიანი ენის მოდელირებას, დასახელებული ერთეულების ამოცნობას და შეჯამებას.

მილსადენები აერთიანებს სამი ცენტრალური ჩახუტებული სახის კომპონენტს:

  1. ტოკნიზატორი: ამზადებს თქვენს ტექსტს მოდელისთვის მისი მოდელისთვის გასაგებ ფორმატში გადაყვანით.
  2. მოდელი: ეს არის მილსადენის გული, სადაც ფაქტობრივი პროგნოზები მზადდება წინასწარ დამუშავებული შეყვანის საფუძველზე.
  3. პოსტპროცესორი: გარდაქმნის მოდელის ნედლეულ პროგნოზებს ადამიანის მიერ წაკითხულ ფორმაში.

ეს მილსადენები არა მხოლოდ ამცირებს ვრცელ კოდირებას, არამედ გვთავაზობს მოსახერხებელი ინტერფეისი სხვადასხვა NLP ამოცანების შესასრულებლად.

ტრანსფორმატორის აპლიკაციები Hugging Face ბიბლიოთეკის გამოყენებით

Hugging Face ბიბლიოთეკის მთავარი ადგილია Transformers ბიბლიოთეკა, რომელიც ამარტივებს NLP ამოცანებს მოდელის დაკავშირებით აუცილებელ წინასწარ და შემდგომ დამუშავების ეტაპებთან, ანალიზის პროცესის გამარტივებით. ბიბლიოთეკის ინსტალაციისა და იმპორტისთვის გამოიყენეთ შემდეგი ბრძანებები:

pip install -q transformers
from transformers import pipeline

ამის გაკეთების შემდეგ, თქვენ შეგიძლიათ შეასრულოთ NLP ამოცანები სენტიმენტალური ანალიზით დაწყებული, რომელიც ტექსტს ახარისხებს დადებით ან უარყოფით სენტიმენტებად. ბიბლიოთეკის მძლავრი pipeline() ფუნქცია ემსახურება როგორც ცენტრს, რომელიც მოიცავს სხვა მილსადენებს და ხელს უწყობს ამოცანების სპეციფიკურ აპლიკაციებს აუდიო, ხედვისა და მულტიმოდალური დომენებში.

პრაქტიკული პროგრამები

ტექსტის კლასიფიკაცია

ტექსტის კლასიფიკაცია ხდება ნიავი Hugging Face's pipeline() ფუნქციით. აი, როგორ შეგიძლიათ დაიწყოთ ტექსტის კლასიფიკაციის მილსადენი:

classifier = pipeline("text-classification")

პრაქტიკული გამოცდილებისთვის, შეიტანეთ სტრიქონი ან სტრიქონების სია თქვენს მილსადენში, რათა მიიღოთ პროგნოზები, რომელთა ვიზუალიზაცია შესაძლებელია Python's Pandas ბიბლიოთეკის გამოყენებით. ქვემოთ მოცემულია პითონის ფრაგმენტი, რომელიც აჩვენებს ამას:

sentences = ["I am thrilled to introduce you to the wonderful world of AI.",
"Hopefully, it won't disappoint you."]
# Get classification results for each sentence in the list
results = classifier(sentences)
# Loop through each result and print the label and score
for i, result in enumerate(results):
print(f"Result {i + 1}:")
print(f" Label: {result['label']}")
print(f" Score: {round(result['score'], 3)}\n")

გამოყვანის

Result 1: 
Label: POSITIVE 
Score: 1.0 
Result 2: 
Label: POSITIVE 
Score: 0.996 

დასახელებული ერთეულის ამოცნობა (NER)

NER არის გადამწყვეტი მნიშვნელობა ტექსტიდან რეალურ სამყაროში არსებული ობიექტების ამოღებაში, სახელწოდებით „დასახელებული ერთეულები“. გამოიყენეთ NER მილსადენი ამ ერთეულების ეფექტურად იდენტიფიცირებისთვის:

ner_tagger = pipeline("ner", aggregation_strategy="simple")
text = "Elon Musk is the CEO of SpaceX."
outputs = ner_tagger(text)
print(outputs)

გამოყვანის

 Elon Musk: PER, SpaceX: ORG 

კითხვაზე პასუხის გაცემა

კითხვაზე პასუხი გულისხმობს კონკრეტულ კითხვებზე ზუსტი პასუხების ამოღებას მოცემული კონტექსტიდან. შექმენით კითხვა-პასუხის მილსადენი და შეიყვანეთ თქვენი შეკითხვა და კონტექსტი სასურველი პასუხის მისაღებად:

reader = pipeline("question-answering")
text = "Hugging Face is a company creating tools for NLP. It is based in New York and was founded in 2016."
question = "Where is Hugging Face based?"
outputs = reader(question=question, context=text)
print(outputs)

გამოყვანის

 {'score': 0.998, 'start': 51, 'end': 60, 'answer': 'New York'} 

Hugging Face-ის მილსადენის ფუნქცია გთავაზობთ წინასწარ ჩაშენებულ მილსადენების მასივს სხვადასხვა ამოცანებისთვის, ტექსტის კლასიფიკაციის, NER-ისა და კითხვებზე პასუხის გარდა. ქვემოთ მოცემულია დეტალები ხელმისაწვდომი ამოცანების ქვეჯგუფის შესახებ:

ცხრილი: ჩახუტებული სახის მილსადენის ამოცანები

სამუშაოაღწერამილსადენის იდენტიფიკატორი
ტექსტის გენერაციატექსტის გენერირება მოცემულ მოთხოვნის საფუძველზემილსადენი (ამოცანა = "ტექსტის გენერაცია")
შეჯამებაშეაჯამეთ გრძელი ტექსტი ან დოკუმენტიმილსადენი (ამოცანა = "შეჯამება")
გამოსახულების კლასიფიკაციამარკირება შეყვანის სურათზემილსადენი (ამოცანა = "გამოსახულების კლასიფიკაცია")
აუდიო კლასიფიკაციააუდიო მონაცემების კატეგორიზაციამილსადენი (ამოცანა = "აუდიო კლასიფიკაცია")
ვიზუალური კითხვაზე პასუხიუპასუხეთ შეკითხვას როგორც გამოსახულების, ასევე შეკითხვის გამოყენებითმილსადენი (ამოცანა = ”vqa”)

 

დეტალური აღწერილობისა და მეტი ამოცანებისთვის იხილეთ მილსადენის დოკუმენტაცია Hugging Face-ის ვებსაიტზე.

რატომ აქცევს Hugging Face ყურადღებას ჟანგზე

ჩახუტებული სახის დამცავი საშუალებები და ტოკენიზატორი Rust

ჩახუტებული სახის დამცავი საშუალებები და ტოკენიზატორი GitHub Page

Hugging Face (HF) ეკოსისტემამ დაიწყო Rust-ის გამოყენება თავის ბიბლიოთეკებში, როგორიცაა სეიფსენსორები და ტოკენიზატორები.

Hugging Face-მა სულ ახლახან გამოუშვა მანქანათმცოდნეობის ახალი ჩარჩო სახელწოდებით სანთელი. ტრადიციული ჩარჩოებისგან განსხვავებით, რომლებიც იყენებენ Python-ს, Candle აგებულია Rust-ით. Rust-ის გამოყენების მიზანია გაზარდოს შესრულება და გაამარტივოს მომხმარებლის გამოცდილება GPU ოპერაციების მხარდაჭერისას.

Candle-ის მთავარი მიზანია ხელი შეუწყოს სერვერის გარეშე დასკვნას, გახადოს მსუბუქი ორობითი ფაილების განლაგება და Python-ის ამოღება წარმოების დატვირთვიდან, რამაც შეიძლება ზოგჯერ შეანელოს პროცესები მისი ზედნადების გამო. ეს ჩარჩო მოდის, როგორც გამოსავალი იმ პრობლემების დასაძლევად, რომლებიც გვხვდება მანქანური სწავლების სრულ ჩარჩოებში, როგორიცაა PyTorch, რომლებიც დიდი და ნელია კლასტერზე ინსტანციების შექმნისას.

მოდით გამოვიკვლიოთ, რატომ ხდება Rust უფრო სასურველი არჩევანი, ვიდრე Python.

  1. სიჩქარე და შესრულება – Rust ცნობილია თავისი წარმოუდგენელი სიჩქარით, აჭარბებს პითონს, რომელიც ტრადიციულად გამოიყენება მანქანათმცოდნეობის ჩარჩოებში. პითონის შესრულება ზოგჯერ შეიძლება შენელდეს მისი გლობალური თარჯიმნის ჩაკეტვის (GIL) გამო, მაგრამ Rust არ აწყდება ამ პრობლემას, რაც გვპირდება დავალებების უფრო სწრაფ შესრულებას და, შემდგომში, გაუმჯობესებულ შესრულებას პროექტებში, სადაც ის განხორციელდება.
  2. უსაფრთხოება – Rust უზრუნველყოფს მეხსიერების უსაფრთხოების გარანტიებს ნაგვის შემგროვებლის გარეშე, ასპექტი, რომელიც აუცილებელია ერთდროულად სისტემების უსაფრთხოების უზრუნველსაყოფად. ეს გადამწყვეტ როლს თამაშობს ისეთ სფეროებში, როგორიცაა დამცავი საშუალებები, სადაც მონაცემთა სტრუქტურების დამუშავებისას უსაფრთხოება პრიორიტეტულია.

დამცავი საშუალებები

დამცავი საშუალებები ისარგებლეთ Rust-ის სიჩქარით და უსაფრთხოების მახასიათებლებით. Safetensors მოიცავს ტენსორების მანიპულირებას, რთული მათემატიკური ერთეულით, და Rust-ის არსებობა უზრუნველყოფს, რომ ოპერაციები იყოს არა მხოლოდ სწრაფი, არამედ უსაფრთხო, თავიდან აიცილოს საერთო შეცდომები და უსაფრთხოების საკითხები, რომლებიც შეიძლება წარმოიშვას მეხსიერების არასწორი დამუშავებისგან.

ტოკნიზატორი

ტოკენიზატორები გაუმკლავდეს წინადადებების ან ფრაზების დაყოფას პატარა ერთეულებად, როგორიცაა სიტყვები ან ტერმინები. Rust ეხმარება ამ პროცესს შესრულების დროის დაჩქარებით, რაც უზრუნველყოფს, რომ ტოკენიზაციის პროცესი არა მხოლოდ ზუსტი, არამედ სწრაფია, რაც აძლიერებს ბუნებრივი ენის დამუშავების ამოცანების ეფექტურობას.

Hugging Face-ის ტოკენიზატორის ბირთვში არის ქვესიტყვის ტოკენიზაციის კონცეფცია, რომელიც იცავს დელიკატურ ბალანსს სიტყვისა და პერსონაჟის დონის ტოკენიზაციას შორის ინფორმაციის შენახვისა და ლექსიკის ზომის ოპტიმიზაციის მიზნით. ის ფუნქციონირებს ისეთი ქვეტოკენების შექმნით, როგორიცაა "##ing" და "##ed", ინარჩუნებს სემანტიკურ სიმდიდრეს და თავიდან აიცილებს გაბერილ ლექსიკას.

ქვესიტყვის ტოკენიზაცია მოიცავს სასწავლო ფაზას, რათა გამოავლინოს ყველაზე ეფექტური ბალანსი პერსონაჟებსა და სიტყვის დონის ტოკენიზაციას შორის. ის სცილდება უბრალო პრეფიქსისა და სუფიქსის წესებს და მოითხოვს ვრცელ ტექსტურ კორპუსებში ენის ნიმუშების ყოვლისმომცველ ანალიზს ეფექტური ქვესიტყვების ტოკენიზატორის შესაქმნელად. გენერირებული ტოკენიზატორი დახელოვნებულია ახალი სიტყვების დამუშავებაში მათი ცნობილ ქვესიტყვებად დაყოფით, სემანტიკური გაგების მაღალი დონის შენარჩუნებით.

ტოკენიზაციის კომპონენტები

ტოკენიზატორების ბიბლიოთეკა ყოფს ტოკენიზაციის პროცესს რამდენიმე საფეხურად, თითოეული მიმართავს ტოკენიზაციის ცალკეულ ასპექტს. მოდით ჩავუღრმავდეთ ამ კომპონენტებს:

  • ნორმალიზატორი: იღებს საწყის გარდაქმნებს შეყვანის სტრიქონზე, იყენებს აუცილებელ კორექტირებას, როგორიცაა მცირე რეგისტრის გარდაქმნა, უნიკოდის ნორმალიზება და ამოღება.
  • პრეტოკენიზატორი: პასუხისმგებელია შეყვანის სტრიქონის ფრაგმენტირებაზე წინასწარ სეგმენტებად, დაყოფის განსაზღვრაზე წინასწარ განსაზღვრული წესების საფუძველზე, როგორიცაა სივრცის ხაზგასმა.
  • მოდელი: ზედამხედველობს ქვეტოკენების აღმოჩენასა და შექმნას, ადაპტირდება თქვენი შეყვანილი მონაცემების სპეციფიკასთან და გთავაზობთ სასწავლო შესაძლებლობებს.
  • პოსტპროცესორი: აძლიერებს კონსტრუქციულ მახასიათებლებს, რათა ხელი შეუწყოს ტრანსფორმატორზე დაფუძნებულ ბევრ მოდელთან თავსებადობას, როგორიცაა BERT, ისეთი ნიშნების დამატებით, როგორიცაა [CLS] და [SEP].

Hugging Face ტოკენიზერების დასაწყებად დააინსტალირეთ ბიბლიოთეკა ბრძანების გამოყენებით pip install tokenizers და შემოიტანეთ იგი თქვენს Python გარემოში. ბიბლიოთეკას შეუძლია დიდი რაოდენობით ტექსტის ტოკენიზაცია ძალიან მცირე დროში, რითაც დაზოგავს ძვირფას გამოთვლით რესურსებს უფრო ინტენსიური ამოცანებისთვის, როგორიცაა მოდელის ტრენინგი.

ტოკენიზატორების ბიბლიოთეკა იყენებს Rust რომელიც მემკვიდრეობით იღებს C++-ის სინტაქსურ მსგავსებას პროგრამირების ენის დიზაინში ახალი ცნებების დანერგვისას. პითონის აკინძებთან ერთად, ის უზრუნველყოფს, რომ ისიამოვნოთ ქვედა დონის ენის შესრულებით პითონის გარემოში მუშაობისას.

მონაცემთა ბაზები

მონაცემთა ნაკრები არის ხელოვნური ინტელექტის პროექტების საფუძველი. Hugging Face გთავაზობთ მონაცემთა ნაკრებების მრავალფეროვნებას, შესაფერისია NLP ამოცანების სპექტრისთვის და სხვა. მათი ეფექტური გამოყენებისთვის აუცილებელია მათი ჩატვირთვისა და ანალიზის პროცესის გაგება. ქვემოთ მოცემულია Python-ის კარგად კომენტირებული სკრიპტი, რომელიც აჩვენებს, თუ როგორ უნდა შეისწავლოთ მონაცემთა ნაკრები, რომელიც ხელმისაწვდომია Hugging Face-ზე:

from datasets import load_dataset
# Load a dataset
dataset = load_dataset('squad')
# Display the first entry
print(dataset[0])

ეს სკრიპტი იყენებს load_dataset ფუნქციას SQuAD მონაცემთა ნაკრების ჩასატვირთად, რომელიც პოპულარული არჩევანია კითხვა-პასუხის ამოცანებისთვის.

წინასწარ გაწვრთნილი მოდელების გამოყენება და ამ ყველაფრის ერთად შეკრება

წინასწარ გაწვრთნილი მოდელები ქმნიან მრავალი ღრმა სწავლის პროექტის ხერხემალს, რაც მკვლევარებსა და დეველოპერებს საშუალებას აძლევს, დაიწყონ თავიანთი ინიციატივები ნულიდან დაწყების გარეშე. სახის ჩახუტება ხელს უწყობს წინასწარ გაწვრთნილი მოდელების მრავალფეროვანი ასორტიმენტის შესწავლას, როგორც ეს ნაჩვენებია ქვემოთ მოცემულ კოდში:

from transformers import AutoModelForQuestionAnswering, AutoTokenizer
# Load the pre-trained model and tokenizer
model = AutoModelForQuestionAnswering.from_pretrained('bert-large-uncased-whole-word-masking-finetuned-squad')
tokenizer = AutoTokenizer.from_pretrained('bert-large-uncased-whole-word-masking-finetuned-squad')
# Display the model's architecture
print(model)

მოდელისა და ტოკენიზატორის ჩატვირთვის შემდეგ, ჩვენ შეგვიძლია გავაგრძელოთ ფუნქციის შექმნა, რომელიც იღებს ტექსტის ნაწილს და კითხვას შეყვანის სახით და აბრუნებს ტექსტიდან ამოღებულ პასუხს. ჩვენ გამოვიყენებთ ტოკენიზერს შეყვანის ტექსტისა და შეკითხვის მოდელთან თავსებად ფორმატში დასამუშავებლად, შემდეგ კი ამ დამუშავებულ შენატანს შევიტანთ მოდელში პასუხის მისაღებად:

def get_answer(text, question):
    # Tokenize the input text and question
    inputs = tokenizer(question, text, return_tensors='pt', max_length=512, truncation=True)
    outputs = model(**inputs)
    # Get the start and end scores for the answer
    answer_start = torch.argmax(outputs.start_logits)
    answer_end = torch.argmax(outputs.end_logits) + 1
    answer = tokenizer.convert_tokens_to_string(tokenizer.convert_ids_to_tokens(inputs['input_ids'][0][answer_start:answer_end]))
    return answer

კოდის ფრაგმენტში, ჩვენ ვაგზავნით საჭირო მოდულებს ტრანსფორმატორების პაკეტიდან, შემდეგ ვტვირთავთ წინასწარ მომზადებულ მოდელს და მის შესაბამის ტოკენიზერს from_pretrained მეთოდის გამოყენებით. ჩვენ ვირჩევთ BERT მოდელს, რომელიც კარგად არის მორგებული SQuAD მონაცემთა ბაზაში.

ვნახოთ ამ ფუნქციის გამოყენების მაგალითი, სადაც გვაქვს ტექსტის აბზაცი და გვსურს მისგან კონკრეტული პასუხი გამოვიტანოთ კითხვაზე:

text = """
The Eiffel Tower, located in Paris, France, is one of the most iconic landmarks in the world. It was designed by Gustave Eiffel and completed in 1889. The tower stands at a height of 324 meters and was the tallest man-made structure in the world at the time of its completion.
"""
question = "Who designed the Eiffel Tower?"
# Get the answer to the question
answer = get_answer(text, question)
print(f"The answer to the question is: {answer}")
# Output: The answer to the question is: Gustave Eiffel

ამ სკრიპტში ჩვენ ვაშენებთ get_answer ფუნქციას, რომელიც იღებს ტექსტს და კითხვას, ასწორებს მათ სათანადოდ და იყენებს წინასწარ გაწვრთნილ BERT მოდელს ტექსტიდან პასუხის ამოსაღებად. ის აჩვენებს Hugging Face-ის ტრანსფორმატორების ბიბლიოთეკის პრაქტიკულ გამოყენებას მარტივი, მაგრამ მძლავრი კითხვა-პასუხის სისტემის შესაქმნელად. ცნებების კარგად გასაგებად, რეკომენდებულია პრაქტიკული ექსპერიმენტის ჩატარება ა Google Colab Notebook.

დასკვნა

ღია კოდის ხელსაწყოების ფართო სპექტრის, წინასწარ გაწვრთნილი მოდელების და მომხმარებლისთვის მოსახერხებელი მილსადენების მეშვეობით, ის საშუალებას აძლევს როგორც გამოცდილ პროფესიონალებს, ასევე ახალწვეულებს ჩაუღრმავდნენ ხელოვნური ინტელექტის გაფართოებულ სამყაროს მარტივად და გაგებით. უფრო მეტიც, Rust-ის ინტეგრირების ინიციატივა, მისი სიჩქარისა და უსაფრთხოების მახასიათებლების გამო, ხაზს უსვამს Hugging Face-ის ერთგულებას ინოვაციების ხელშეწყობისკენ და ამავე დროს უზრუნველყოფს ეფექტურობასა და უსაფრთხოებას AI აპლიკაციებში. Hugging Face-ის ტრანსფორმაციული ნამუშევარი არა მხოლოდ დემოკრატიზაციას უკეთებს წვდომას მაღალი დონის AI ინსტრუმენტებზე, არამედ ავითარებს თანამშრომლობით გარემოს სწავლისა და განვითარებისთვის AI სივრცეში, რაც ხელს უწყობს მომავალს, სადაც AI ხელმისაწვდომი იქნება.

გასული ხუთი წელი გავატარე მანქანათმცოდნეობის და ღრმა სწავლის მომხიბლავ სამყაროში ჩაძირვაში. ჩემმა გატაცებამ და გამოცდილებამ მიბიძგა, რომ წვლილი შემეტანა 50-ზე მეტ მრავალფეროვან პროგრამულ საინჟინრო პროექტში, განსაკუთრებული აქცენტით AI/ML-ზე. ჩემმა მუდმივმა ცნობისმოყვარეობამ ასევე მიმიზიდა ბუნებრივი ენის დამუშავებისკენ, სფერო, რომლის შემდგომი შესწავლა მსურს.