ბიბლიოთეკა
00/07 · ~34 წთ
GUIDEDECK · ინჟინრებისთვის, ვისაც ინტუიცია სჭირდება და არა ჰაიპი

ღრმა სწავლება
& მის უკან მდგომი ნეირონული
ქსელები.

34-წუთიანი სამუშაო სესია იმაზე, თუ რა არის სინამდვილეში ნეირონული ქსელი, როგორ სწავლობს, რატომ ერგება ზედმეტად მონაცემებს, რომელი სამი არქიტექტურული ოჯახი ღირს ცოდნად და რომელ ინსტრუმენტებს მიმართავდით დღეს — გულახდილი შენიშვნებით იმაზე, როდის აჯობებს ჩვეულებრივი მანქანური სწავლება ღრმა ქსელს.

~34 წთდამწყები → საშუალოყველა ფრეიმვორკზე
გადაახვიეთ
01 · კლასიკური ML-იდან ღრმა სწავლებამდე 4 წთ

ღრმა სწავლება
ხელით შექმნილ ნიშნებს ცვლის ნასწავლი ნიშნებით.

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

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

მთავარი ცვლილება

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

კლასიკური ML ეყრდნობა ადამიანს, რომ ნიშნები შექმნას; ღრმა ქსელი კი საკუთარ ნიშნებს პირდაპირ ნედლი შესატანიდან სწავლობს.

როდის იგებს თითოეული — გულახდილად

აირჩიეთ კლასიკური ML, როცა…

  • გაქვთ ცხრილური მონაცემები (სტრიქონები და სვეტები). გრადიენტულად გაძლიერებული ხეები — XGBoost, LightGBM, CatBoost — აქ ჩვეულებრივ იგებენ, წუთებში იწვრთნებიან და ლეპტოპზეც გაეშვება.
  • მონაცემები ცოტაა (ასეულიდან რამდენიმე ათას სტრიქონამდე). ღრმა ქსელები მონაცემებზე მშიერია და მცირე ნაკრებს ზედმეტად ერგება.
  • გჭირდებათ ახსნადობა, სწრაფი იტერაცია ან იაფი ინფერენსი.

აირჩიეთ ღრმა სწავლება, როცა…

  • მონაცემები არასტრუქტურირებულია — სურათები, აუდიო, ვიდეო ან ბუნებრივი ენა — სადაც ნიშნების ხელით შექმნა ძნელია.
  • გაქვთ ბევრი მონაცემი (ან წინასწარ ნაწვრთნი მოდელი, რომელზეც დააშენებთ) და წვდომა GPU-ებზე.
  • ნიმუში რთული და არაწრფივია, და სიზუსტის რამდენიმე დამატებული პროცენტი ხარჯს ამართლებს.

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

02 · ნეირონი და ქსელი 5 წთ

ნეირონი უბრალოდ შეწონილი ჯამი → აქტივაციაა.

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

ნეირონი (ერთეული) — ფუნქცია, რომელიც ითვლის y = activation(w·x + b). წონები w ამბობს, რამდენად მნიშვნელოვანია თითოეული შესატანი, ბიასი b წანაცვლებს შედეგს, ხოლო აქტივაცია ამატებს არაწრფივობას, რომელიც დაწყობილ შრეებს მრუდების და არა მხოლოდ სწორი ხაზების სწავლის საშუალებას აძლევს.
// one neuron, by hand
function neuron(x: number[], w: number[], b: number) {
  let z = b
  for (let i = 0; i < x.length; i++)
    z += x[i] * w[i]      // weighted sum
  return relu(z)            // activation: max(0, z)
}
// a layer = many neurons; a network = stacked layers

შესატანები მრავლდება წონებზე, იკრიბება ბიასთან ერთად, შემდეგ კი აქტივაცია კუმშავს მათ — ეს ერთი ერთეული, გამეორებული, მთელი ქსელია.

input hidden hidden output

პირდაპირი გავრცელების ქსელი: ერთი შრის ყოველი ერთეული კვებავს შემდეგი შრის ყოველ ერთეულს. თითოეულ კავშირს თავისი ნასწავლი წონა აქვს.

ქსელის წაკითხვა

  • შესატანი შრე — თქვენი ნედლი რიცხვები (პიქსელები, ტოკენების ემბედინგები, სენსორის ჩვენებები).
  • ფარული შრეები — სადაც ნიშნები იგება; მეტი შრე / უფრო განიერი შრეები = მეტი ტევადობა (და ზედმეტი მორგების მეტი რისკი).
  • გამომავალი შრე — პასუხი: ერთი რიცხვი რეგრესიისთვის ან ალბათობა თითოეულ კლასზე კლასიფიკაციისთვის.
  • პარამეტრები = ყველა წონა და ბიასი. თანამედროვე მოდელებს მათგან მილიონები და მილიარდები აქვს.

აქტივაციის ფუნქციები — არაწრფივობა

აქტივაციის გარეშე შრეების დაწყობა ერთ წრფივ ნაბიჯად იშლება — რაც არ უნდა ღრმა იყოს. სწორედ აქტივაცია აძლევს ქსელს მოხრის საშუალებას.

ReLU

ნაგულისხმევი არჩევანი

max(0, z). იაფია, სწრაფად იწვრთნება, სტანდარტული არჩევანი ფარული შრეებისთვის. ვარიანტები (LeakyReLU, GELU) კიდურა შემთხვევებს ასწორებს.

Sigmoid

შეკუმშვა 0–1 შუალედში

ნებისმიერ რიცხვს ასახავს (0, 1) შუალედში. გამოიყენება ერთი დიახ/არა პასუხისთვის. ბოლოებში იჯერება, ამიტომ ღრმად შიგნით მოერიდეთ.

Tanh

შეკუმშვა −1–1 შუალედში

sigmoid-ის ნულზე ცენტრირებული ბიძაშვილი. გავრცელებული იყო ძველ რეკურენტულ ქსელებში; პირდაპირი გავრცელების შრეებში ძირითადად ReLU-მ ჩაანაცვლა.

Softmax

ალბათობები

ქულების ვექტორს გარდაქმნის ალბათობათა განაწილებად, რომლის ჯამიც 1-ია — სტანდარტული ბოლო შრე მრავალკლასიანი კლასიფიკაციისთვის.

03 · როგორ სწავლობს ქსელი 6 წთ

გამოიცანით, გაზომეთ შეცდომა, დაძარით ყოველი წონა დაღმა.

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

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

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

ლექსიკონი

  • პირდაპირი გავლა — შესატანების ქსელში გატარება პროგნოზის მისაღებად.
  • Backpropagation — ჯაჭვური წესი, გამოყენებული უკუმიმართულებით შრეებზე, რომ დაითვალოს გრადიენტი: რამდენად იმოქმედა თითოეულმა წონამ დანაკარგზე.
  • გრადიენტული დაშვება — თითოეული წონა ოდნავ დაძარით მისი გრადიენტის საწინააღმდეგოდ. ნაბიჯის ზომა არის სწავლის სიჩქარე.
  • ოპტიმიზატორი — წესი, რომელიც გრადიენტებს განახლებებად აქცევს. Adam / AdamW ჩვეულებრივი ნაგულისხმევებია; ჩვეულებრივი SGD ზოგ შემთხვევაში ისევ იგებს.
minimum (low loss) start

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

პარტიები და ეპოქები

  • პარტია (batch) — მაგალითების მცირე ჯგუფი, რომელიც ერთად მუშავდება ერთ განახლებამდე. მთელ ნაკრებს ერთბაშად იშვიათად ვიყენებთ (ეს ნელია და მეხსიერებას ჭამს).
  • ეპოქა — ერთი სრული გავლა მთელ საწვრთნელ ნაკრებზე. წვრთნა ბევრ ეპოქას მოითხოვს.
  • ნაბიჯი / იტერაცია — ერთი დამუშავებული პარტია = ერთი განახლება.
  • ცერის წესი: უყურეთ სავალიდაციო დანაკარგს, არა მხოლოდ საწვრთნელს. როცა ის უკეთესობას აღარ იძლევა, დასრულდა — დამატებითი ეპოქები მხოლოდ ზედმეტ მორგებას იძლევა (შემდეგი სექცია).

თითქოს  ნისლში ხეობისკენ ეშვებით — ძირს ვერ ხედავთ, ამიტომ აგრძელებთ ნაბიჯებს იქით, სადაც დაღმართია.

04 · პატიოსანი შეფასება 5 წთ

მოდელი, რომელიც წვრთნაზე ბრწყინავს და რეალობაში ვარდება, ზედმეტად მოერგო მონაცემებს.

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

ზედმეტი მორგება (overfitting) — მოდელი სწავლობს საწვრთნელი მონაცემების ხმაურს და არა სიგნალს. ამას იმით ამჩნევთ, რომ საწვრთნელი დანაკარგი ისევ ეცემა, სავალიდაციო კი მატულობს. საპირისპირო, არასაკმარისი მორგება, არის მოდელი, რომელიც იმდენად მარტივია, რომ ნიმუშს საერთოდ ვერ იჭერს.
loss epochs stop here train validation

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

როგორ ვებრძოლოთ

  • მეტი / უკეთესი მონაცემი — ყველაზე საიმედო წამალი. ხშირად მონაცემთა აუგმენტაციით (გადაბრუნება, ამოჭრა, ხმაური), რომ გამრავლდეს ის, რაც უკვე გაქვთ.
  • ადრეული გაჩერება — შეაჩერეთ წვრთნა, როცა სავალიდაციო დანაკარგი უკეთესობას აღარ იძლევა.
  • რეგულარიზაცია (weight decay / L2) — დააჯარიმეთ დიდი წონები, რომ მოდელი უფრო მარტივი დარჩეს.
  • Dropout — ყოველ ნაბიჯზე შემთხვევით გამორთეთ ერთეულების ნაწილი, რომ ქსელი ერთ გზაზე ვერ დაეყრდნოს.
  • გამარტივება — ნაკლები შრე/ერთეული. ყველაზე პატარა მოდელი, რომელიც მუშაობს, საუკეთესოდ განაზოგადებს.

ღილაკები, რომლებსაც რეალურად დაატრიალებთ

სწავლის სიჩქარე

ყველაზე მნიშვნელოვანი ღილაკი

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

პარტიის ზომა

სიჩქარე vs ხმაური

დიდი პარტიები ერთ ეპოქას უფრო სწრაფად წვრთნის და გრადიენტებს გლუვს ხდის; პატარები სასარგებლო ხმაურს ამატებს და ნაკლებ მეხსიერებას ხარჯავს. ეს სწავლის სიჩქარესთან ურთიერთქმედებს — ერთად ცვალეთ.

dropout-ის დონე

რამდენი გამოირთოს

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

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

05 · არქიტექტურული ოჯახები 6 წთ

შეუსაბამეთ ქსელის სტრუქტურა მონაცემების სტრუქტურას.

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

კონვოლუციური ნეირონული ქსელები — ბადეებისთვის (სურათები)

კონვოლუცია პატარა ფილტრს (kernel) ასრიალებს სურათზე და ერთსა და იმავე ლოკალურ ნიმუშს — კიდეს, ტექსტურას — იქ პოულობს, სადაც კი გამოჩნდება. შემდეგ pooling ამცირებს რუკას და კიდეებიდან ფორმებამდე, ფორმებიდან კი ობიექტებამდე აწყობს. ორი დიდი მოგება: ბევრად ნაკლები წონა, ვიდრე მკვრივ შრეს, და გადაადგილების ინვარიანტობა (კატა კატაა, სადაც არ უნდა იჯდეს).

  • გამოიყენეთ — სურათებისთვის, ვიდეოკადრებისთვის, ყველაფრისთვის, რაც ბადეზეა; ასევე აუდიოს სპექტროგრამებისთვის.
  • სახელები, რომლებიც უნდა იცოდეთ — ResNet, EfficientNet, U-Net (სეგმენტაციისთვის); Vision Transformers დიდ ნაკრებებზე უკვე კონკურენციას უწევს.

ფილტრი ეძებს ლოკალურ ნიმუშებს; pooling კუმშავს; შრეები კიდეებს ობიექტებად აწყობს.

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

რეკურენტული ქსელები — მოწესრიგებული მიმდევრობებისთვის

RNN მიმდევრობას ნაბიჯ-ნაბიჯ კითხულობს და ნაბიჯიდან ნაბიჯზე გადააქვს ფარული მდგომარეობა — მიმდინარე მეხსიერება. ჩვეულებრივ RNN-ებს გრძელი კონტექსტი ავიწყდებათ (ქრებადი გრადიენტის პრობლემა), ამიტომ LSTM და GRU ამატებს კარიბჭეებს, რომლებიც წყვეტს, რა შეინახონ და რა გადააგდონ, და ინფორმაციას უფრო ხანგრძლივად იჭერს.

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

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

ძლიერი მხარე
ბუნებრივად ერგება ნაკადურ მონაცემებს და ზომიერი სიგრძის მიმდევრობებს.
სუსტი მხარე
ბუნებით თანმიმდევრულია — ნელა იწვრთნება და გრძელი მეხსიერება უჭირს.

ტრანსფორმერები — ყურადღება მთელ მიმდევრობაზე

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

  • LLM-ების ძრავა — სწორედ ეს არქიტექტურა დგას თანამედროვე ენობრივი მოდელების უკან. უფრო ღრმად: LLM აპლიკაციების აგება და ფაინთიუნინგი.
  • მხოლოდ ტექსტი არაა — Vision Transformers, აუდიო და მულტიმოდალური მოდელები ერთსა და იმავე ხერხემალს იყენებს.

ყოველი ტოკენი (აქ "კატა") წონის ყველა სხვა ტოკენს, რომ თავისი კონტექსტი ააგოს — ყველაფერი პარალელურად.

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

ამათ ნულიდან იშვიათად ააგებთ. აირჩიეთ ოჯახი, რომელიც თქვენს მონაცემებს ერგება, და დაიწყეთ წინასწარ ნაწვრთნი მოდელიდან — შემდეგი სექცია.

06 · პრაქტიკული მხარე 4 წთ

რა სჭირდება სინამდვილეში: გამოთვლა, მონაცემები და ნულიდან არ დაწყება.

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

გამოთვლა · GPU

რატომ GPU (და TPU)

წვრთნა ძირითადად დიდი მატრიცების გამრავლებაა და GPU ათასობით ასეთს პარალელურად ასრულებს — CPU-ზე რიგებით სწრაფად. Google-ის TPU სპეციალურად ამისთვის შექმნილი ალტერნატივაა. შერეული სიზუსტე (დაბალი სიზუსტის მათემატიკა) აჩქარებს პროცესს და მეხსიერებას ზოგავს.

დატის შიმშილი

მონაცემები არის ვიწრო ყელი

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

გადატანითი სწავლება

დაეყრდენით წინასწარ ნაწვრთნ მოდელს

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

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

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

საიდან ავიღოთ წინასწარ ნაწვრთნი მოდელები

  • Hugging Face Hub — წინასწარ ნაწვრთნი მოდელების დე-ფაქტო რეესტრი ტექსტის, ხედვისა და აუდიოსთვის.
  • ფრეიმვორკების model zoo-ები — torchvision, Keras Applications და TensorFlow Hub გავრცელებულ ხერხემლებს წონებიანად გაძლევთ.
  • კონკრეტულად LLM-ებისთვის — ადაპტერებით, როგორიცაა LoRA, ფაინთიუნინგი ცალკე დისციპლინაა; იხილეთ ფაინთიუნინგი.
  • როცა ამუშავდება, მისი გაშვება და მონიტორინგი უკვე MLOps-ია — ის მიმართულება მოიცავს მომსახურებას, ვერსიონირებასა და დრიფტს.
07 · ინსტრუმენტები და შეჯამება 4 წთ

სამი ფრეიმვორკი, ერთი აზრობრივი მოდელი —
აირჩიეთ თქვენი საქმისთვის, არა ჰაიპისთვის.

თქვენ აღწერთ ქსელს, ფრეიმვორკი კი გრადიენტებს ავტომატურად ითვლის (autodiff) და GPU-ზე უშვებს. განსხვავებები ერგონომიკაზე, დეპლოიმენტსა და მასშტაბზეა.

PyTorch

კვლევის & ნაგულისხმევი სტანდარტი

Python-ური, ნაგულისხმევად eager (ჩვეულებრივი კოდივით ამართავთ) და დომინანტი არჩევანი კვლევაში, მოდელების უდიდესი ეკოსისტემით. torch.compile ძველ სიჩქარის სხვაობას დიდწილად ავსებს.

  • დადებითი — ყველაზე იოლი სასწავლი და გასამართი; უზარმაზარი საზოგადოება და წინასწარ ნაწვრთნი მოდელები.
  • უარყოფითი — პროდაქშენში მომსახურებას და მობილურს დამატებითი ინსტრუმენტები სჭირდება.
  • აირჩიეთ, როცა  სწავლობთ, ექსპერიმენტებს ატარებთ ან კვლევითი და გამოყენებითი სამუშაოს უმეტესობას აკეთებთ — უსაფრთხო ნაგულისხმევი.
TensorFlow / Keras

პროდაქშენი & მოწყობილობაზე

Keras მაღალი დონის API-ია, რომელსაც ნებისმიერი წაიკითხავს; Keras 3 PyTorch-ისა და JAX-ის ბექენდებზეც კი მუშაობს. TensorFlow მოაქვს მომწიფებული მომსახურება (TF Serving) და მოწყობილობაზე დეპლოიმენტი (LiteRT, ადრე TF Lite).

  • დადებითი — ბრძოლაში გამოცდილი დეპლოიმენტის გზა სერვერებამდე, ვებამდე და მობილურამდე.
  • უარყოფითი — დღეს კვლევაში ნაკლები წილი; მეტი API-ს ზედაპირი.
  • აირჩიეთ, როცა  გჭირდებათ სუფთა მაღალი დონის API (Keras) ან ნაცადი გზა პროდაქშენამდე და edge-მოწყობილობებამდე.
JAX

წარმადობა მასშტაბზე

ფუნქციური, NumPy-ს მსგავსი ბირთვი კომპოზიციური გარდაქმნებით — grad, jit, vmap — რომლებიც XLA-თი კომპილირდება. წყვილდება ბიბლიოთეკებთან, როგორიცაა Flax და Optax; ფავორიტი დიდმასშტაბიანი წვრთნისთვის, განსაკუთრებით TPU-ებზე.

  • დადებითი — უმაღლესი კლასის სიჩქარე და სუფთა მასშტაბირება ბევრ ამაჩქარებელზე.
  • უარყოფითი — ყველაზე ციცაბო სწავლის მრუდი; ფუნქციური სტილი და მეტი შაბლონური კოდი.
  • აირჩიეთ, როცა  წარმადობას ზღვარზე მიგყავთ ან დიდ მოდელებს TPU-ებზე წვრთნით და ზუსტი კონტროლი გინდათ.

როგორ ავირჩიოთ — მოკლედ

  • ნაგულისხმევად აირჩიეთ PyTorch. მას აქვს ყველაზე რბილი სწავლის მრუდი და ყველაზე მეტი მაგალითი, გაკვეთილი და წინასწარ ნაწვრთნი წონა, საიდანაც კოპირებას შეძლებთ.
  • მიმართეთ Keras/TensorFlow-ს, როცა უფრო მარტივი მაღალი დონის API გინდათ ან edge-მდე დეპლოიმენტის გაკვალული გზა.
  • მიმართეთ JAX-ს, როცა სუფთა წარმადობა და TPU-ებზე დიდმასშტაბიანი წვრთნა ერგონომიკაზე მეტად გაწუხებთ.
  • და ჯერ იკითხეთ, საერთოდ გჭირდებათ თუ არა ღრმა სწავლება — ცხრილური მონაცემებისა და მცირე ნაკრებებისთვის გრადიენტულად გაძლიერებული ხე კლასიკური ML-იდან უფრო სწრაფი, იაფი და ხშირად უფრო ზუსტია.

ნაგულისხმევად ნულიდან ნუ წვრთნით. Hugging Face Hub-ის წინასწარ ნაწვრთნი მოდელებისა და ჰოსტირებული API-ების პირობებში ამოცანას ხშირად საკუთარი საწვრთნელი პაიპლაინის გარეშეც გადაჭრით. საკუთარი მოდელი მაშინ ააგეთ, როცა მზა გადაწყვეტა ნამდვილად ვერ ართმევს თავს.

ხუთი რამ, რაც თან უნდა წაიღოთ

1ღრმა სწავლება ნიშნებს თავად სწავლობს. სწორედ ეს არის კომპრომისი კლასიკურ ML-თან — ნაკლები ხელით შრომა, მეტი მონაცემი და გამოთვლა.
2ეს არის შეწონილი ჯამები + აქტივაციები, შრეებად დაწყობილი და დანაკარგზე გრადიენტული დაშვებით გაწვრთნილი.
3მტერი ზედმეტი მორგებაა. უყურეთ სავალიდაციო დანაკარგს; დაეყრდენით მეტ მონაცემს, ადრეულ გაჩერებას, რეგულარიზაციასა და dropout-ს.
4შეუსაბამეთ არქიტექტურა მონაცემებს — CNN ბადეებისთვის, RNN/LSTM ნაკადებისთვის, ტრანსფორმერები მიმდევრობებისა და მათზე აგებული LLM-ებისთვის.
5დაიწყეთ წინასწარ ნაწვრთნით და უმარტივესი ინსტრუმენტით. ხშირად სწორი ნაბიჯი კლასიკური ML-ია ან უკვე არსებული, დაფაინთიუნებული მოდელი — და არა ახალი ქსელი.
ცოდნის შემოწმება

დაგამახსოვრდათ?

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

შეაფასეთ ეს დასტა
იყავით პირველი

ნავიგაცია ← → ღილაკებით ან სქროლით · უკან ბიბლიოთეკაში