Skip to content

Latest commit

 

History

History
111 lines (74 loc) · 21.1 KB

File metadata and controls

111 lines (74 loc) · 21.1 KB

Модели с отворен код

Фина настройка на вашия LLM

Използването на големи езикови модели за изграждане на приложения за генеративен AI идва с нови предизвикателства. Основен проблем е осигуряването на качеството на отговорите (точност и релевантност) в съдържанието, генерирано от модела за дадена потребителска заявка. В предишни уроци обсъдихме техники като инженеринг на подканите и генериране, обогатено с извличане, които се опитват да решат проблема чрез модифициране на входа на подканата към съществуващия модел.

В днешния урок ще обсъдим трета техника, фина настройка, която се опитва да се справи с предизвикателството чрез повторно обучение на самия модел с допълнителни данни. Нека се потопим в детайлите.

Цели на обучението

Този урок представя концепцията за фина настройка на предварително обучени езикови модели, разглежда ползите и предизвикателствата на този подход и предоставя насоки кога и как да използвате фината настройка, за да подобрите производителността на вашите генеративни AI модели.

До края на този урок трябва да можете да отговорите на следните въпроси:

  • Какво представлява фината настройка на езиковите модели?
  • Кога и защо е полезна фината настройка?
  • Как мога да направя фина настройка на предварително обучен модел?
  • Какви са ограниченията на фината настройка?

Готови ли сте? Да започваме.

Илюстрирано ръководство

Искате ли да получите обща представа за това, което ще разгледаме, преди да се потопим? Разгледайте това илюстрирано ръководство, което описва учебното пътуване за този урок - от изучаването на основните концепции и мотивацията за фина настройка до разбирането на процеса и най-добрите практики за изпълнение на задачата за фина настройка. Това е завладяваща тема за изследване, така че не забравяйте да проверите страницата Ресурси за допълнителни връзки, които да подкрепят вашето самостоятелно обучение!

Илюстрирано ръководство за фина настройка на езикови модели

Какво представлява фината настройка на езикови модели?

По дефиниция големите езикови модели са предварително обучени върху големи количества текст, събрани от разнообразни източници, включително интернет. Както научихме в предишни уроци, ни трябват техники като инженеринг на подканите и генериране, обогатено с извличане, за да подобрим качеството на отговорите на модела на въпросите на потребителя ("подкани").

Популярна техника за инженеринг на подканите включва даване на модела повече насоки за това какво се очаква в отговора, като се предоставят инструкции (експлицитни насоки) или няколко примера (имплицитни насоки). Това се нарича обучение с малко примери, но има два ограничения:

  • Ограниченията на токените в модела могат да ограничат броя на примерите, които можете да предоставите, и да намалят ефективността.
  • Разходите за токени могат да направят скъпо добавянето на примери към всяка подкана и да ограничат гъвкавостта.

Фината настройка е често срещана практика в системите за машинно обучение, при която вземаме предварително обучен модел и го обучаваме отново с нови данни, за да подобрим неговата производителност за конкретна задача. В контекста на езиковите модели можем да направим фина настройка на предварително обучен модел с подбрана група примери за дадена задача или приложна област, за да създадем персонализиран модел, който може да бъде по-точен и релевантен за тази конкретна задача или област. Допълнителна полза от фината настройка е, че може да намали броя на необходимите примери за обучение с малко примери - намалявайки използването на токени и свързаните разходи.

Кога и защо трябва да правим фина настройка на модели?

В този контекст, когато говорим за фина настройка, имаме предвид супервизирана фина настройка, при която повторното обучение се извършва чрез добавяне на нови данни, които не са били част от оригиналния набор от данни за обучение. Това е различно от подхода за несупервизирана фина настройка, при който моделът се обучава отново върху оригиналните данни, но с различни хиперпараметри.

Основното, което трябва да запомните, е, че фината настройка е напреднала техника, която изисква определено ниво на експертиза, за да се постигнат желаните резултати. Ако не се направи правилно, тя може да не предостави очакваните подобрения и дори да влоши производителността на модела за вашата целева област.

Затова, преди да научите "как" да направите фина настройка на езикови модели, трябва да знаете "защо" трябва да изберете този подход и "кога" да започнете процеса на фина настройка. Започнете, като си зададете следните въпроси:

  • Цел на използване: Каква е вашата цел на използване за фина настройка? Кой аспект на текущия предварително обучен модел искате да подобрите?
  • Алтернативи: Опитали ли сте други техники, за да постигнете желаните резултати? Използвайте ги, за да създадете базова линия за сравнение.
    • Инженеринг на подканите: Опитайте техники като подканване с малко примери, включващи примери за релевантни отговори. Оценете качеството на отговорите.
    • Генериране, обогатено с извличане: Опитайте да обогатите подканите с резултати от търсене във вашите данни. Оценете качеството на отговорите.
  • Разходи: Идентифицирали ли сте разходите за фина настройка?
    • Възможност за настройка - наличен ли е предварително обучен модел за фина настройка?
    • Усилия - за подготовка на данни за обучение, оценка и усъвършенстване на модела.
    • Изчислителни ресурси - за изпълнение на задачи за фина настройка и внедряване на модела с фина настройка.
    • Данни - достъп до достатъчно качествени примери за въздействие на фината настройка.
  • Ползи: Потвърдили ли сте ползите от фината настройка?
    • Качество - дали моделът с фина настройка превъзхожда базовия модел?
    • Разходи - намалява ли използването на токени чрез опростяване на подканите?
    • Разширяемост - може ли базовият модел да бъде адаптиран за нови области?

Отговаряйки на тези въпроси, трябва да можете да решите дали фината настройка е правилният подход за вашата цел на използване. Идеално, подходът е валиден само ако ползите надвишават разходите. След като решите да продължите, е време да помислите как можете да направите фина настройка на предварително обучен модел.

Искате ли повече информация за процеса на вземане на решения? Гледайте Да правим ли фина настройка или не

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

За да направите фина настройка на предварително обучен модел, трябва да имате:

  • предварително обучен модел за фина настройка
  • набор от данни за използване при фината настройка
  • среда за обучение за изпълнение на задачата за фина настройка
  • среда за хостинг за внедряване на модела с фина настройка

Фина настройка в действие

Следните ресурси предоставят стъпка по стъпка уроци, които ще ви преведат през реален пример, използвайки избран модел с подбран набор от данни. За да преминете през тези уроци, трябва да имате акаунт при конкретния доставчик, както и достъп до съответния модел и набори от данни.

Доставчик Урок Описание
OpenAI Как да направим фина настройка на чат модели Научете как да направите фина настройка на gpt-35-turbo за конкретна област ("асистент за рецепти"), като подготвите данни за обучение, изпълните задачата за фина настройка и използвате модела с фина настройка за извеждане на резултати.
Azure OpenAI Урок за фина настройка на GPT 3.5 Turbo Научете как да направите фина настройка на модел gpt-35-turbo-0613 в Azure, като предприемете стъпки за създаване и качване на данни за обучение, изпълнение на задачата за фина настройка. Внедрете и използвайте новия модел.
Hugging Face Фина настройка на LLMs с Hugging Face Тази публикация в блог ви превежда през процеса на фина настройка на отворен LLM (например CodeLlama 7B) с помощта на библиотеката transformers и Transformer Reinforcement Learning (TRL) с отворени набори от данни на Hugging Face.
🤗 AutoTrain Фина настройка на LLMs с AutoTrain AutoTrain (или AutoTrain Advanced) е библиотека на Python, разработена от Hugging Face, която позволява фина настройка за много различни задачи, включително фина настройка на LLM. AutoTrain е решение без код и фината настройка може да се извърши във вашия собствен облак, на Hugging Face Spaces или локално. Тя поддържа както уеб-базирано GUI, така и CLI, както и обучение чрез yaml конфигурационни файлове.

Задача

Изберете един от горепосочените уроци и го преминете. Може да репликираме версия на тези уроци в Jupyter Notebooks в този репо за справка. Моля, използвайте оригиналните източници директно, за да получите най-новите версии.

Отлична работа! Продължете да учите.

След като завършите този урок, разгледайте нашата колекция за обучение по генеративен AI, за да продължите да развивате знанията си за генеративния AI!

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

Нашата серия от уроци v1 също е актуализирана с повече задачи и концепции. Затова отделете минута, за да освежите знанията си - и моля, споделете вашите въпроси и обратна връзка, за да ни помогнете да подобрим тези уроци за общността.


Отказ от отговорност:
Този документ е преведен с помощта на AI услуга за превод Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или погрешни интерпретации, произтичащи от използването на този превод.