Skip to content

Latest commit

 

History

History
105 lines (69 loc) · 21 KB

File metadata and controls

105 lines (69 loc) · 21 KB

Отворени модели

Фино подешавање вашег LLM

Коришћење великих језичких модела за изградњу генеративних AI апликација доноси нове изазове. Кључно питање је обезбеђивање квалитета одговора (тачности и релевантности) у садржају који модел генерише за одређени кориснички захтев. У претходним лекцијама, говорили смо о техникама као што су инжењеринг упита и генерисање уз допуну извлачењем, које покушавају да реше проблем тако што модификују улазни упит постојећег модела.

У данашњој лекцији разговарамо о трећој техници, фино подешавање, која покушава да реши изазов путем претренирања самог модела са додатним подацима. Хајде да заронимо у детаље.

Циљеви учења

Ова лекција уводи појам фино подешавања за унапред обучене језичке моделе, истражује предности и изазове овог приступа и пружа смернице када и како користити фино подешавање за побољшање перформанси ваших генеративних AI модела.

До краја ове лекције требало би да будете у стању да одговорите на следећа питања:

  • Шта је фино подешавање језичких модела?
  • Када и зашто је фино подешавање корисно?
  • Како могу фино подесити унапред обучени модел?
  • Која су ограничења фино подешавања?

Спремни? Хајде да почнемо.

Илустрован водич

Желите ли да добијете општи преглед о ономе што ћемо обрадити пре него што почнемо? Погледајте овај илустровани водич који описује пут учења за ову лекцију - од учења основних појмова и мотивације за фино подешавање, до разумевања процеса и најбољих пракси за извођење задатка фино подешавања. Ово је фасцинантна тема за истраживање, па не заборавите да посетите страницу Ресурси за додатне линкове који ће подржати ваше самостално учење!

Илустрован водич за фино подешавање језичких модела

Шта је фино подешавање језичких модела?

По дефиницији, велики језички модели су унапред обучени на великим количинама текста који су преузети из различитих извора укључујући интернет. Како смо сазнали у претходним лекцијама, потребне су нам технике као што су инжењеринг упита и генерисање уз допуну извлачењем да бисмо побољшали квалитет одговора модела на корисничка питања („упите“).

Популарна техника инжењеринга упита укључује давање више смерница моделу о томе шта се очекује у одговору било пружањем упутстава (експлицитне смернице) или пружањем неколико примера (имплицитне смернице). Ово се назива учење из мало примера али има две ограничења:

  • Ограничења броја токена модела могу ограничити број примера које можете дати и утичу на ефикасност.
  • Трошкови токена модела могу учинити скупим додавање примера за сваки упит и ограничити флексибилност.

Фино подешавање је уобичајена пракса у системима машинског учења где узимамо унапред обучени модел и поново га обучавамо са новим подацима да бисмо побољшали његове перформансе на одређеном задатку. У контексту језичких модела, можемо фино подесити унапред обучени модел са курираним скупом примера за одређени задатак или домен примене ради креирања прилагођеног модела који може бити прецизнији и релевантнији за тај специфични задатак или домен. Спољна корист фино подешавања је да може смањити број примера потребних за учење из мало примера - смањујући употребу токена и повезане трошкове.

Када и зашто треба да фино подешавамо моделе?

У овом контексту, када говоримо о фино подешавању, мислимо на супервизовано фино подешавање где се претренирање врши додавањем нових података који нису били део оригиналног скупа за обуку. Ово се разликује од несупервизованог приступа фино подешавања где се модел поново обучава на оригиналним подацима, али са другачијим хиперпараметрима.

Кључно је запамтити да је фино подешавање напредна техника која захтева одређени ниво експертизе да би се постигли жељени резултати. Ако се уради неправилно, можда неће пружити очекивана побољшања, па чак може и смањити перформансе модела за ваш циљани домен.

Зато, пре него што научите "како" да фино подесите језичке моделе, морате знати "зашто" треба да изаберете овај пут и "када" да започнете процес фино подешавања. Почните тако што ћете себи поставити ова питања:

  • Примена: Која је ваша примена за фино подешавање? Који аспект тренутног унапред обученог модела желите да побољшате?
  • Алтернативе: Да ли сте пробали друге технике да постигнете жељене резултате? Користите их да направите основну поређења.
    • Инжењеринг упита: Пробајте технике као што је учење из мало примера са примерима релевантних одговора на упите. Оцените квалитет одговора.
    • Генерисање са допуном извлачењем: Пробајте да допуните упите резултатима претраге у вашим подацима. Оцените квалитет одговора.
  • Трошкови: Да ли сте идентификовали трошкове за фино подешавање?
    • Оптимизованост - да ли је унапред обучени модел доступан за фино подешавање?
    • Напор - за припрему података за тренирање, оцењивање и прецизирање модела.
    • Обрачун - за извођење послова фино подешавања и развоја финог модела.
    • Подаци - приступ довољно квалитетним примерима за ефекат фино подешавања.
  • Предности: Да ли сте потврдили предности фино подешавања?
    • Квалитет - да ли је фино подешени модел премашио основне резултате?
    • Трошкови - да ли смањује употребу токена поједностављујући упите?
    • Проширивост - да ли можете користити основни модел за нове домене?

Одговарајући на ова питања, требало би да можете да одлучите да ли је фино подешавање прави приступ за вашу примену. Идеално, приступ је важећи само ако предности превазилазе трошкове. Када одлучите да наставите, време је да размислите како можете фино подесити унапред обучени модел.

Желите ли више увида у процес доношења одлука? Погледајте Фино подесити или не фино подесити

Како можемо фино подесити унапред обучени модел?

Да бисте фино подесили унапред обучени модел, потребно је да имате:

  • унапред обучени модел за фино подешавање
  • скуп података за фино подешавање
  • окружење за обуку за извођење задатка фино подешавања
  • окружење за хостовање за развој финог модела

Фино подешавање у пракси

Следећи ресурси пружају туторијале корак по корак који вас воде кроз реалан пример употребе одабраног модела са курираним скупом података. Да бисте радили кроз ове туторијале, потребан вам је налог код одређеног провајдера, као и приступ релевантним моделима и скуповима података.

Провајдер Туторијал Опис
OpenAI Како фино подесити chat моделе Учите како да фино подесите gpt-35-turbo за одређени домен ("асистент за рецепте") припремањем података за обуку, извршавањем посла фино подешавања, и коришћењем финог модела за извођење.
Azure OpenAI Туторијал за фино подешавање GPT 3.5 Turbo Научите како фино подесити модел gpt-35-turbo-0613 на Azure правећи и отпремајући податке за обуку, покрећући рад за фино подешавање. Развите и користите нови модел.
Hugging Face Фино подешавање LLM-ова са Hugging Face Овај блог пост вас води кроз фино подешавање отвореног LLM-а (нпр. CodeLlama 7B) коришћењем transformers библиотеке и Transformer Reinforcement Learning (TRL) са отвореним ском података на Hugging Face.
🤗 AutoTrain Фино подешавање LLM-ова са AutoTrain AutoTrain (или AutoTrain Advanced) је Python библиотека коју је развио Hugging Face и која омогућава фино подешавање за бројне различите задатке укључујући и LLM фино подешавање. AutoTrain је решење без кодирања и може се изводити у вашем облаку, на Hugging Face Spaces или локално. Подржава веб-графички интерфејс, CLI и обуку преко yaml конфигурационих фајлова.
🦥 Unsloth Фино подешавање LLM-ова са Unsloth Unsloth је отворени фрејмворк који подржава фино подешавање LLM-ова и учење појачањем (RL). Unsloth олакшава локалну обуку, процену и развој помоћу готових notebooks. Такође подржава текст-тo-глас (TTS), BERT и мултимодалне моделе. За почетак, прочитајте њихов корак-по-корак Водич за фино подешавање LLM-ова.

Задатак

Изаберите један од горе наведених туторијала и прођите га корак по корак. Можда ћемо реплицирати верзију ових туторијала у Jupyter Notebooks у овом репозиторијуму само за референцу. Молимо користите оригиналне изворе директно за најновије верзије.

Одличан посао! Наставите са учењем.

Након завршетка ове лекције, проверите нашу колекцију за учење генеративног AI да бисте наставили са усавршавањем знања о генеративном AI!

Честитамо!! Завршили сте последњу лекцију из серијала v2 овог курса! Немојте престати са учењем и развојем. **Погледајте страницу РЕСУРСИ за листу додатних препорука управо за ову тему.

Наш серијал лекција v1 је такође ажуриран са више задатака и појмова. Узмите минут да освежите своје знање - и молимо вас поделите своја питања и повратне информације како бисмо побољшали овај материјал за заједницу.


Одрицање од одговорности: Овај документ је преведен коришћењем услуге аутоматског превођења Co-op Translator. Иако тежимо прецизности, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитетом. За критичне информације препоручује се професионални људски превод. Не сносимо одговорност за било какве неспоразуме или погрешне интерпретације проистекле из коришћења овог превода.