background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "Make LLM Fine Tuning 5x Faster with Unsloth"

input logo icon
Теги видео
|

Теги видео

ai anytime
AI Anytime
generative ai
gen ai
LLM
RAG
AI chatbot
chatbots
python
openai
tech
coding
machine learning
ML
NLP
deep learning
computer vision
chatgpt
gemini
google
meta ai
langchain
llama index
vector database
unsloth
unsloth llm
unsloth llm fine tuning
llm fine tuning
mistral fine tuning
LLM fine tuning
Fine tune LLM
Fine tuning crash course
DPO
PPO
DPO fine tuning
llama fine tuning
llama 2 fine tuning
qlora
lora
qlora fine tuning
gpt4
ai
generativeai
llm
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:03
привет всем, добро пожаловать на канал AI в любое время.
00:00:05
В этом видео мы собираемся
00:00:08
изучить легкую библиотеку под названием UNS
00:00:10
sloth, поэтому UNS sloth — это очень новая
00:00:14
библиотека, которая помогает вам точно настраивать большие
00:00:17
языковые модели и ускоряет
00:00:21
тонкую настройку llm. процесс с
00:00:24
меньшим потреблением памяти, они сказали, что
00:00:27
ускорение в 4-5 раз и на 60 % меньше памяти - вот
00:00:30
какой слоган на GitHub теперь UNS sloth
00:00:34
мощный, это потому, что я использовал
00:00:37
UNS sloth в некоторых экспериментах по точной настройке, и
00:00:39
он действительно работает
00:00:41
хорошо, и сегодня В этом видео я покажу вам,
00:00:42
как вы можете знать, как работать
00:00:44
с UNS sloth для выполнения задачи точной настройки в
00:00:47
блокноте для совместной работы. Теперь unslot поддерживает
00:00:51
различные типы методов точной настройки,
00:00:53
например, с помощью sft Trainer вы
00:00:55
также можете использовать обучение с подкреплением TRL Transformer
00:00:57
и в этом видео мы сделаем комбинацию UNS slot Plus erl,
00:01:00
теперь вы можете
00:01:02
использовать sft Trainer Po Trainer DPO Trainer
00:01:05
и еще много чего, хорошо, и он поддерживает, вы
00:01:07
знаете, все, почти все
00:01:10
библиотеки Nvidia, которые поддерживают ядра Cuda, а
00:01:13
также, как новейшую, так и более старый,
00:01:15
например, в разговоре о
00:01:17
новейшем, он поддерживает ваш, вы знаете, RTX
00:01:20
390 и аналогичный графический процессор, он также
00:01:23
поддерживает a00 v00 T4 и т. д. и т.
00:01:26
д., когда дело доходит до
00:01:28
графического процессора, теперь хорошая вещь в UNS sloth заключается в том, что
00:01:31
он если они очень
00:01:33
хорошо поработали над методами оптимизации, и
00:01:36
это основная концепция
00:01:39
лени UNS, уменьшающая потребление памяти
00:01:41
и требования, а также увеличивающая
00:01:43
или ускоряющая процесс тонкой настройки,
00:01:46
они в основном переписывают все
00:01:49
модули pych на ядра Tron, и
00:01:53
это одна из причин, по которой вы
00:01:55
знаете, что фреймворк чрезвычайно мощный,
00:01:58
который помогает вам оптимизировать теперь, они также,
00:02:01
вы знаете, выводят шаги обратного распространения
00:02:03
вручную, это также функция
00:02:05
unslot, и мы подробно рассмотрим эти две или
00:02:06
три функции, они также говорят
00:02:09
вы знаете, что потеря точности составляет 0%
00:02:13
при сравнении с
00:02:15
обычным методом Kora, который мы видели, так что
00:02:18
это некоторые из функций, которые
00:02:20
предоставляет UNS Sloat, и вы также можете комбинировать UNS
00:02:22
Sloat с различными библиотеками,
00:02:25
так что мы ' посмотрим, как мы будем использовать
00:02:27
TRL, мы будем использовать sfy Trainer через L и
00:02:30
объединим его с библиотекой UNS Sloth для
00:02:33
настройки F на наборе данных IMDb, поэтому здесь мы возьмем
00:02:35
задачу по генерации текста и посмотрим,
00:02:37
сможет ли он это сделать сгенерировать текст и как
00:02:40
быстро мы можем использовать UNS sloth, ну, вы знаете, чтобы
00:02:43
точно настроить это и сделать вывод, и
00:02:45
мы также можем подтолкнуть это к обнимающемуся лицу. Я
00:02:47
также покажу вам, как вы можете
00:02:48
это сделать, и блокнот доступен на моем
00:02:51
GitHub, если вы не хотите смотреть
00:02:52
видео, вы можете просто продолжить и посмотреть в
00:02:55
блокнот, но я рекомендую
00:02:56
вам посмотреть видео, чтобы понять
00:02:58
некоторые вещи, когда я, э-э, пока я кодирую,
00:03:01
без дальнейших задержек, давайте зайдите
00:03:03
в блокнот Google для совместной работы и посмотрите, как
00:03:05
мы можем использовать Mistal и модель Lamas
00:03:07
любую из этих двух, потому что это
00:03:09
поддерживаемая модель, и вы можете знать, что
00:03:10
начнем наше путешествие с unso для
00:03:13
задач тонкой настройки, хорошо, так что мы
00:03:16
собираемся поэкспериментировать о SLO в
00:03:19
совместной работе с Google. Я собираюсь использовать графический процессор T4,
00:03:22
как вы можете видеть. У меня есть Google Collab
00:03:25
Pro, но я не использую a00 или v00,
00:03:28
но сейчас я собираюсь полагаться на
00:03:30
графический процессор T4 4, сейчас не так поддерживает
00:03:34
архитектуры llama и Mistral, а также различные
00:03:37
типы архитектур. Внутри этих двух,
00:03:39
э-э, извините, разные типы моделей
00:03:41
и вариантов. Внутри этих двух
00:03:42
архитектур, например, крошечный
00:03:46
код ламы. Лама глубокий поиск, если мы говорим о
00:03:48
некоторых японцах, таких как qen lamif, Fight qen
00:03:51
и т. д. теперь, если вы заходите в их
00:03:56
репозиторий GI, как unlo, так и TRL Transformer
00:03:59
train Язык Transformer с
00:04:00
обучением с подкреплением, теперь в unlo есть
00:04:03
более 60 блокнотов для совместной работы или подобных
00:04:05
блокнотов, где вы можете воспроизвести все
00:04:07
примеры и знаете различные
00:04:10
методы, такие как PPO DPO и так далее, и тому
00:04:12
подобное. теперь у них есть оценочные
00:04:15
тесты, которые определены здесь,
00:04:18
и у них есть вся
00:04:20
документация по установке и несколько примеров, но
00:04:23
давайте посмотрим, как мы можем это узнать, поэкспериментируйте
00:04:25
здесь, в Google, и мы посмотрим,
00:04:28
сможем ли мы сделать это на t T4 Графический процессор или нет,
00:04:31
если вы используете T4, у меня есть
00:04:35
установка, я дам ссылку в
00:04:37
описании, как вы можете установить,
00:04:38
потому что a00 выберет немного
00:04:41
другой путь для установки a00 и
00:04:44
обоих графических процессоров b00 или даже нового
00:04:46
поколения У графических процессоров RTX есть свой собственный способ
00:04:49
установки, так что теперь давайте подождем, нам
00:04:52
понадобится немного времени, чтобы установить
00:04:54
сборку и все такое, а затем мы получим
00:04:56
Трансформеры, а после этого нам также
00:05:00
понадобится TRL, так что позвольте мне просто добавить pip install
00:05:03
TRL
00:05:05
вещь, pip, установите
00:05:09
TRL, хорошо, теперь это репозиторий TRL
00:05:12
на GitHub, э-э, преобразование и
00:05:15
обучение с подкреплением, и они поддерживают
00:05:19
вознаграждение Pro Trainer PPO Trainer и
00:05:22
аналогичные методы для точной настройки или
00:05:25
предварительной подготовки, предварительной подготовки больших языковых
00:05:27
моделей или языковых моделей сейчас, когда это необходимо.
00:05:30
приходит к замедлению, они говорят, что вы знаете, что
00:05:33
загрузка моделей в 4 раза быстрее или в 5 раз быстрее
00:05:36
уменьшает фрагментацию памяти, которая
00:05:39
является большой проблемой, когда речь идет о
00:05:41
моделях AI, примерно на 500 МБ и может вместить
00:05:44
более крупные пакеты, так что это очень
00:05:46
полезно, ну, это помогает вы загружаете
00:05:49
предварительно количественные 4-битные модели, и
00:05:53
они предоставляют некоторые предварительно количественные
00:05:55
модели, такие как llama
00:06:00
27b 4bit 13B 4bit Mistral 7B и Cod
00:06:05
Lama 34 bit, так что они поддерживают все эти
00:06:07
модели прямо сейчас, ах, это все предварительно
00:06:08
количественные
00:06:11
модели теперь ansot также выполняет
00:06:14
внутреннее масштабирование по веревке, поэтому автоматически поддерживается большая максимальная
00:06:16
длина последовательности,
00:06:17
он поддерживает, вы
00:06:19
знаете, большую максимальную длину последовательности,
00:06:22
это очень полезно,
00:06:24
теперь, э, работать с этим, как вы
00:06:28
собираетесь это загружать, так что есть класс,
00:06:29
но сначала позвольте мне покажу вам, а потом мы
00:06:31
перейдем к TRL и прочему, позвольте мне сначала
00:06:33
показать из импорта UNS, и у них есть
00:06:37
класс под названием Модель быстрого языка, поэтому вам
00:06:39
нужно импортировать эту штуку с моделью быстрого языка,
00:06:41
теперь вот как вы
00:06:46
импортируете из unso импортируйте быстрый язык
00:06:49
модель и раньше мы использовали, когда использовали
00:06:52
Трансформеры, которые вы использовали, чтобы получить ее от, вы
00:06:55
знаете, Cal LM из предварительной подготовки и все такое
00:06:57
прямо сейчас, в этом случае то, что вы
00:06:59
получаете в
00:07:00
токенизаторе модели, равно, и вы получаете это из
00:07:02
модели быстрого языка, поэтому у вас есть сделать
00:07:04
быструю языковую модель, это неправильно,
00:07:08
тогда мы говорим от предварительно обученного гу
00:07:10
что-то вроде этого, но не gpt2,
00:07:13
и тогда вы можете использовать имя модели. Максимальная
00:07:16
длина последовательности, загрузка запрещена, и все
00:07:17
эти параметры, поскольку он поддерживает веревку, вы
00:07:20
можете выбрать любой максимальная длина последовательности Хорошо,
00:07:22
автоматически поддерживается, хорошо, теперь, как только
00:07:24
модель загружена, мы можем снова использовать
00:07:27
класс модели быстрого языка, чтобы использовать
00:07:29
модель G piip, э-э, к этому модулю, чтобы подключить
00:07:33
адаптер и выполнить тонкую настройку T koraa.
00:07:35
Я покажу это немного позже. давайте
00:07:37
посмотрим на интеграцию TRL
00:07:41
с
00:07:42
UNS, поэтому, чтобы использовать unso с TRL, вы просто
00:07:45
передаете модель unsl тренеру SF или
00:07:48
даже если вы хотите использовать тренер DPO, у вас
00:07:50
есть готовая настройка DPO с наградой за наборы данных
00:07:52
и т. д., вы также можете получить теперь все готово,
00:07:55
модель поезда полностью совместима с
00:07:57
экосистемой обнимающего лица, поэтому, как только вы
00:07:58
ее натренируете, вы сможете использовать ее и с
00:08:00
обнимающим лицом, так что
00:08:01
давайте попробуем, ну, в
00:08:04
очень кратком виде, так что я у меня будет
00:08:06
импорт
00:08:07
факела из
00:08:11
TRL. Я собираюсь получить импорт sft-тренера
00:08:15
здесь, sft-
00:08:17
тренажер, а затем
00:08:20
импорт из трансформаторов, и у меня будут
00:08:22
обучающие аргументы, поэтому обучающие
00:08:25
аргументы, а затем я собираюсь получить
00:08:27
от медленного, у нас уже есть быстрый
00:08:29
языковые модели, теперь они нам не нужны,
00:08:32
наш импорт завершен, окей, нам
00:08:36
также нужно получить наборы данных, поэтому давайте перенесем
00:08:38
наборы данных сюда, поэтому из
00:08:41
наборов данных импортируйте низкие наборы данных, мы собираемся
00:08:43
использовать набор данных обнимающего лица вы
00:08:44
также можете использовать свой набор данных, все в
00:08:48
порядке, теперь у нас все в порядке с нашим UTS,
00:08:51
давайте определим максимальную длину последовательности, поэтому у
00:08:53
меня будет максимальная
00:08:55
длина последовательности. Максимальная длина последовательности равна 204,
00:08:59
например, я оставлю ее на более высокой
00:09:01
стороне, теперь давайте получите набор данных, поэтому я
00:09:03
собираюсь записать равные наборы данных и загрузить
00:09:06
данные с подчеркиванием,
00:09:08
и если вы придете сюда, вы просто сделаете
00:09:12
IMDb, обнимающее лицо, хорошо, теперь, как только вы
00:09:16
нажмете на него, вы увидите набор данных IMDb,
00:09:18
который предоставляет обнимающее лицо, и давайте
00:09:20
используйте эти наборы данных. Хорошо, обнимаю,
00:09:23
вижу, что это набор данных, который мы собираемся
00:09:24
использовать сейчас, так что давайте просто напишем
00:09:27
IMDb, а затем вы зададите разделение равным
00:09:36
trrain, он получит его сейчас, как только вы просто
00:09:39
поместите набор данных, он даст
00:09:41
вам,
00:09:47
как только вы do data set, он покажет вам
00:09:50
текст и метку функций, а также количество
00:09:52
25 000 строк. Если вы придете сюда, вы
00:09:55
увидите поезд 25k r два класса, это
00:10:00
набор данных классификации текстовой классификации, поэтому, если вы хотите использовать этот
00:10:03
набор данных, вы можете настроить для
00:10:05
аналитики настроений по некоторым продуктам или
00:10:07
обзорам фильмов и т. д. и т. п.
00:10:09
использование unslow, которое действительно быстро помогает
00:10:12
вам быстрее
00:10:14
делать выводы,
00:10:16
теперь давайте возьмем штуковину токенизатор модели,
00:10:19
чтобы токенизатор модели
00:10:22
равнялся Я собираюсь использовать быстрый язык,
00:10:24
а вы вижу, это то, что он
00:10:25
мне показывает, это
00:10:28
правильно,
00:10:29
но здесь я собираюсь написать название модели,
00:10:32
так что давайте использовать Mistral от unlo, так что unlo
00:10:37
предоставляет, позвольте мне просто написать unso, и они
00:10:39
предоставят Mistral, так что, если вы придете сюда,
00:10:42
разблокируйте
00:10:44
Mistral HF, как только вы напиши это, ты знаешь,
00:10:48
это приведет тебя сюда и получит
00:10:50
это, у них есть все доступные модели,
00:10:53
которые ты можешь использовать, хорошо, если ты
00:10:55
придешь, я покажу тебе, ты можешь видеть, что это
00:10:58
4-битная модель, которую они предоставляют, так что
00:11:00
давайте использовать 4-битную квантовая модель, хорошо,
00:11:02
и скажем, что Форкс быстрее загружает, что
00:11:04
они поддерживают, так что давайте посмотрим, давайте посмотрим,
00:11:06
если это возможно, поэтому мы с Мистралем
00:11:10
скажем
00:11:11
7B, и вот как вы определяете B и B
00:11:14
биты и байты, а затем это становится 4-
00:11:17
битным, предположим, llas также вы также можете
00:11:20
получить его с помощью ламы, если хотите,
00:11:21
тогда максимальная последовательность Le равна максимальной
00:11:23
длине последовательности, и тогда у вас есть тип D,
00:11:25
поэтому давайте оставим его пустым, убедитесь, что вы
00:11:27
не сохранили здесь тип D, а затем сохраните загрузку
00:11:29
в 4 бита, правда, так что загрузка в 4 бита, и что Ал
00:11:33
автоматически помогает вам точно настроить с помощью
00:11:34
Kora, загрузка в 4 бита равна
00:11:39
true, хорошо, теперь у нас все в порядке с этой загрузкой
00:11:42
в ​​4 бита, хорошо, правда, теперь давайте просто запустим
00:11:47
это и
00:11:51
посмотрим, что он говорит, что вы передаете конфигурацию квантования
00:11:54
из pre-end, но модель, которую вы
00:11:56
загружаете, уже имеет
00:11:57
атрибут конфигурации квантования, хорошо, вы можете увидеть
00:11:59
немедленный, быстрый и быстрый релиз исправлений Mistal
00:12:03
GPU Tesla T4, он дает вам подробное
00:12:05
описание конфигурации, которую
00:12:07
вы в настоящее время используете, вашего оборудования,
00:12:10
э-э, возможности Cuda, бла-бла-бла, и
00:12:13
это получив его, вы можете увидеть, как он
00:12:14
загружается, давайте теперь посмотрим на модель,
00:12:16
окей, и вы можете видеть, что модель
00:12:18
загружена, модель sa тензоры и все это
00:12:21
очень быстро,
00:12:23
это фантастика,
00:12:25
теперь давайте воспользуемся э-э, получим модуль модели P
00:12:29
из него, э-э, быстро языковая модель, и это
00:12:32
вы исправляете модель и добавляете быстрый
00:12:35
вес Lowa, поэтому для этого я собираюсь сделать
00:12:37
модель,
00:12:39
равную
00:12:40
быстрой языковой модели. точка не из
00:12:43
препринта. Я собираюсь использовать get P, так что давайте
00:12:46
просто сделаем
00:12:50
это, получим модель P и тогда у вас есть
00:12:54
модель, а затем давайте сохраним
00:12:57
ранг, если вы используете очень маленькую модель,
00:13:00
ваши ранги должны быть выше. У меня есть
00:13:02
очень подробное видео на эту тему,
00:13:04
пожалуйста, посмотрите, я дам ссылку в
00:13:05
описании, сохраните целевые
00:13:07
модули, поэтому для этого модель, это то, что
00:13:10
они предлагают в документации, и я
00:13:12
объяснил это в своем предыдущем видео,
00:13:14
что такое проекция Q, что такое
00:13:16
проекция вверх, что такое проекция K, что такое
00:13:17
выходная проекция и так далее, и так далее, и
00:13:20
так далее, вы можете просто взглянуть
00:13:21
на эти проекции и целевые модули,
00:13:23
что это значит, k
00:13:26
плюсы и V плюсы,
00:13:30
а затем идите
00:13:34
о, и что еще у нас есть, у нас есть
00:13:36
проекция G, так что давайте оставим проекцию ворот,
00:13:38
извините,
00:13:41
проекцию ворот, затем у нас есть вверх,
00:13:44
так что вверх,
00:13:46
Про, а затем
00:13:49
вниз.
00:13:50
Про, это выглядит хорошо это должно сработать,
00:13:54
хорошо, давайте посмотрим, что это должно работать, теперь
00:13:56
давайте возьмем альфа-значение для Лауры,
00:13:58
поэтому Лура Альфа. Я не объясняю каждую из
00:14:00
этих терминологий, как я объяснял
00:14:02
ранее в своих видео. Лаура Альфа, а
00:14:05
затем вы уберете Луру. out, так что
00:14:07
давайте оставим Lura исключенным. Я оставлю его
00:14:08
нулевым, но ноль более оптимизирован,
00:14:11
здесь предлагается 0,1, но давайте вы можете оставить
00:14:14
все, что он поддерживает, но ноль - это
00:14:16
оптимизированный вариант. Lura выпадает, затем
00:14:20
смещаем как
00:14:24
нет, а затем оставляем градиент
00:14:27
контрольная точка здесь верна, поэтому используйте
00:14:35
контрольную точку градиента true, а затем
00:14:38
давайте сохраним
00:14:40
случайное случайное
00:14:42
состояние на высоком уровне, например,
00:14:44
давайте дадим 3 4, а не 7 или что-то в
00:14:48
этом роде, и максимальная длина последовательности станет максимальной
00:14:52
длиной последовательности. Я думаю, это нормально, так что это
00:14:54
подойдет исправление модели, а также
00:14:56
быстрое добавление весов Lowa, между
00:14:58
прочим, и я надеюсь, что это имеет смысл, поэтому давайте
00:15:00
запустим это и посмотрим, что здесь произойдет, так что
00:15:02
целевые модули, я надеюсь, целевые модули
00:15:03
работают Q Плюсы K Плюсы V Плюсы o Плюсы получите Pro,
00:15:07
это то, что показано в моих заметках, у меня
00:15:09
есть в заметках, плюсы и
00:15:12
минусы, это должно сработать, давайте
00:15:17
посмотрим, что там написано «медленно», о, это патч, 32
00:15:21
слоя с 32 слоями qkv, о, фантастика,
00:15:25
32 слоя o и 32 слоя MLP, довольно
00:15:29
быстро,
00:15:32
хорошо, теперь давайте определить
00:15:38
тренера по точной настройке под руководством тренера
00:15:41
давайте сделаем
00:15:52
это. Набор данных кадра равен набору данных.
00:15:56
Текстовое поле набора данных равно. Я хочу
00:16:01
сохранить этот текст, потому что это мой
00:16:03
текст,
00:16:05
если вы посмотрите здесь, это текст,
00:16:07
который у нас есть, поэтому я просто оставим
00:16:09
здесь текст, так что давайте создадим это текстовое поле набора данных,
00:16:11
затем максимальную длину последовательности
00:16:14
токенизатор токенизатора максимальной длины последовательности,
00:16:17
а затем у вас будут
00:16:19
аргументы, поэтому давайте сохраним аргументы, поэтому
00:16:21
аргументы, которые вы собираетесь использовать
00:16:22
здесь, обучающие аргументы, обучающие аргументы и
00:16:25
внутреннее обучение аргументы: у нас
00:16:27
будет размер пакета, поэтому размер пакета устройства po,
00:16:33
почему он мне не показывает,
00:16:35
но, надеюсь, мы делаем это именно так. Размер B
00:16:41
подходит для поезда устройств. Размер B
00:16:44
два, тогда у вас есть
00:16:53
накопление градиента. Надеюсь, я правильно написал
00:16:56
шаги накопления.
00:16:59
равно
00:17:00
4, тогда у вас есть шаги для разминки.
00:17:05
Теплые шаги равны
00:17:10
10. Максимальное количество шагов
00:17:13
равно 60. Давайте оставим его очень маленьким,
00:17:16
просто для целей тестирования, чтобы вы могли
00:17:18
понять, как его можно использовать с плавающей
00:17:20
запятой. 16 Я собираюсь сказать, поставьте
00:17:23
условие, а не факел делайте.
00:17:26
Точка CA есть, и если поддержка bf16
00:17:32
там не поддерживается, это правильно, хорошо, теперь
00:17:35
выходной каталог не не не не не не
00:17:37
fp16, тогда у меня bf16, так что это снова
00:17:40
факел. CA поддерживает bf16, вот как
00:17:44
вы должны это делать, это лучший способ
00:17:45
определения того, что сейчас регистрируется, потому что он
00:17:48
не всегда поддерживается на шагах журналирования gpu a00,
00:17:54
равных
00:17:57
одному, давайте сохраним выходной
00:18:02
каталог, и я хочу назвать
00:18:05
это тестом на удаление слотов, что-то вроде этого, хорошо,
00:18:09
это хорошо, что бы ни было, теперь давайте сделаем
00:18:10
оптимизатор. Я оставлю бит Adam 8,
00:18:13
поэтому
00:18:18
бит Adam Adom W8, а затем вы просто даете начальное значение для
00:18:21
воспроизводимости, поэтому начальное значение для того же
00:18:24
начального значения, которое у нас есть случайное
00:18:27
состояние, давайте сохраним его, сделайте его больше, если вы
00:18:30
хочу внедрить это, лучшая практика для
00:18:32
этого, потому что давайте перейдем к
00:18:35
дампам Json, если вы используете AWS и что-то вроде
00:18:37
sagemaker, теперь давайте сделаем
00:18:39
тренер-тренер,
00:18:47
это займет немного времени, ребята, так что,
00:18:50
возможно, нам понадобится приостановите видео,
00:18:51
но давайте подождем несколько секунд и
00:18:54
посмотрим, что здесь происходит, хорошо, чтобы вы
00:18:56
могли видеть, что на выполнение 60 шагов ушло около 12 минут,
00:18:58
и мы обошли
00:19:01
потерю тренировки в 2,72, что довольно
00:19:04
хорошо, потому что вы сделали это только для
00:19:06
60 шагов - это даже не одна эпоха, если
00:19:09
вы посмотрите на EPO 02. Я думаю, вам нужно
00:19:12
увеличить число, и это зависит от того,
00:19:14
какие у вас данные и
00:19:15
вычислительная мощность, которую вы имеете, теперь все в порядке,
00:19:17
давайте попробуем сделать вывод, и что я Я
00:19:19
собираюсь сделать вот что: у меня будет
00:19:20
ввод, поэтому давайте определим входы и сохраним
00:19:22
наш токенизатор, поэтому позвольте мне написать здесь
00:19:25
токенизатор, а затем, возможно, вы знаете,
00:19:28
давайте создадим список Python и внутренний
00:19:31
список, чтобы мы собирались сохранить хм, возможно, мы
00:19:35
собираемся сохранить формат Alpa или, возможно,
00:19:38
давайте попробуем, и что я собираюсь сделать, так
00:19:40
это или, если вы не хотите сохранять
00:19:42
формат Alpa, как нам это сделать, мы должны
00:19:44
делать это только так, как вы даете например,
00:19:47
подсказка, или мы можем просто задать вопрос, и
00:19:51
мы можем попытаться сгенерировать, что мы также можем
00:19:53
выполнить эту часть здесь, чтобы вы могли
00:19:55
поддержать ее, поддерживает различные типы
00:19:58
структуры подсказок, вы можете определить
00:20:00
другую структуру подсказки и
00:20:02
работать вместе с ней. так что вы также можете сделать это,
00:20:04
так что давайте попробуем и посмотрим, что в
00:20:06
конечном итоге мы получим, но теперь
00:20:08
мы точно настроили, поэтому, как только вы настроитесь,
00:20:10
вы получите модельный вес, с которым вы можете
00:20:13
работать сейчас, так что давайте сделаем это, так что
00:20:15
здесь что я собираюсь сделать, так это
00:20:17
позволить мне сначала задать вопрос здесь, поэтому
00:20:19
я говорю: окей, мне очень нравится
00:20:24
этот фильм, потому
00:20:30
что он
00:20:32
показывает эмоции и говорит о
00:20:37
человечности, окей, что-то вроде этого,
00:20:39
окей, дайте мне это как
00:20:42
ввод,
00:20:44
и тогда мы можем просто сделать что-то
00:20:48
вроде тензора возврата, хорошо,
00:20:51
давайте сделаем это, и вот что я собираюсь
00:20:53
сделать, это написать,
00:20:56
э-э,
00:20:59
return подчеркивание 10, исходный код, и,
00:21:02
конечно, это правильное оправдание меня, а затем
00:21:06
это на исходном коде 10, а затем вы можете сделать это
00:21:09
с
00:21:10
Cuda, чтобы это сделать, давайте посмотрим, что мы
00:21:13
получим
00:21:17
здесь сейчас, если я посмотрю на ваши входные данные, позвольте мне
00:21:21
просто получить входные данные
00:21:24
здесь, вы получите некоторое тензорное значение, хорошо
00:21:27
здесь сейчас давайте нажмем на выходные данные, что
00:21:29
я хочу сделать, это выходные данные, вы также можете
00:21:31
определить формат выпускного вечера, например, альпаку, откуда у
00:21:35
вас есть ввод инструкций, а
00:21:36
затем вы ждете такого вывода, который
00:21:38
поможет вам с генерацией, теперь
00:21:40
я собираюсь скажем, хорошо, модель сгенерируйте,
00:21:42
это то, что вы собираетесь сделать правильно, поэтому
00:21:43
модель сгенерирует, и внутри этой
00:21:45
генерации давайте введем ваши входные данные, а затем
00:21:48
вы дадите максимальное количество новых токенов, поэтому наше максимальное количество
00:21:50
новых токенов очень меньше, потому что мы
00:21:52
работаем над задачей классификации
00:21:54
здесь, так что максимальное количество новых токенов давайте,
00:21:55
например, 128 или что-то в этом роде, а
00:21:58
затем используем денежные средства, равные True, давайте сохраним
00:22:00
Cash True, поэтому используйте
00:22:08
модель Cash True, генерируйте входные данные. Максимальное количество новых
00:22:12
токенов использует денежные средства, равные
00:22:26
true,
00:22:56
и вы можете видеть, что это заняло 39 секунд.
00:22:58
это действительно хорошо, хорошо для этого
00:22:59
графического процессора, теперь давайте распечатаем выходные данные
00:23:02
здесь, как только они будут напечатаны, вы
00:23:04
получите тензорное значение, теперь давайте заставим
00:23:06
токенизатор декодировать это, чтобы токенизатор выполнял
00:23:09
декодирование, поэтому мы собираемся использовать пакетное декодирование,
00:23:11
потому что их слишком много тензор, хорошо, так что
00:23:14
декодируйте летучую мышь, а затем вы просто даете свои
00:23:24
результаты, и вы можете видеть, что мне очень нравится
00:23:26
фильм, потому что он показывает эмоции и
00:23:28
говорит о человечности, и он генерирует дальше,
00:23:30
вы можете видеть, что он говорит, что это очень хороший
00:23:31
фильм, и я рекомендую его всем, это так.
00:23:33
очень хороший фильм, и я рекомендую его
00:23:35
всем, но теперь есть
00:23:36
репутации, которые вы видели здесь, так что это
00:23:38
нормально, но вы можете генерировать
00:23:40
ответы, которые вы видите сейчас, что вы
00:23:42
также можете сделать, в этом случае вы также можете продолжать
00:23:45
сохранять модель хорошо, вы можете сохранить его, ну, вот
00:23:48
как вы можете сохранить его, чтобы вы могли
00:23:50
сохранить специальный токен, равный
00:23:52
true или что-то в этом роде, чтобы увидеть, что
00:23:53
теперь вы можете просто делать модель. sa
00:23:55
предварительно обучен, так что вот что вы собираетесь
00:23:57
делать перед переобучением, и давайте назовем это,
00:24:00
например, как-то вроде
00:24:02
модели Лауры, она уже будет сохранена,
00:24:04
если вы придете сюда с левой стороны, у
00:24:06
вас будет время выполнения, а затем вы
00:24:08
увидите тест на удаление слотов, и теперь у вас есть
00:24:10
прогоны, в этом файле есть все сохранения,
00:24:13
а затем, если вы нажмете Laura, вы
00:24:16
получите конфигурацию адаптера и сохраните тензоры,
00:24:19
теперь ваша модель сохранена в Laura,
00:24:20
вы также можете включить ее фаза объятий, поэтому,
00:24:22
если вы придете сюда с обнимающим лицом, вы
00:24:24
знаете, что вам может понадобиться ваш ключ API, чтобы
00:24:27
нажать, что вам нужно написать, поэтому, если вы
00:24:29
придете сюда с токеном доступа, так что перейдите к
00:24:31
настройкам, перейдите к токенам доступа к доступу,
00:24:34
нажмите на «Э-э», напишите и затем вы
00:24:37
можете скопировать его отсюда, затем вам нужно
00:24:39
установить вход в блокнот и все такое, чтобы, ну,
00:24:41
вы знаете, поместите э-э, нажмите это на H, хорошо, чтобы
00:24:44
вы могли отправить его на H, э-э, получите ключ API,
00:24:47
если я сделаю это прямо сейчас, он спросит мне
00:24:48
нужно вставить свои ключи API или что-то в этом роде, потому что
00:24:50
я не вошел в систему с помощью обнимающего лица,
00:24:52
если я сделаю это, и я скажу: «ОК, ты
00:24:55
знаешь, Кума 307, это мое
00:24:58
имя на обнимающемся лице, если ты посмотришь здесь
00:25:00
307, а затем идет название модели, так что я
00:25:03
могу назвать ее Al SLO или давайте назовем
00:25:06
ее моделью Laura, хорошо, мы можем просто
00:25:09
назвать ее моделью Laura, которая для
00:25:11
целей тестирования, как только вы это сделаете, она попросит вас,
00:25:13
вероятно, выдаст вам ошибку,
00:25:15
потому что требуется токен, но
00:25:17
токен не найден, тогда вам нужно установить
00:25:19
этот Hubing Face Hub и все эти
00:25:20
вещи здесь, так что вам нужно сделать, вы
00:25:22
знаете, pip, установить Hubing Face Hub и
00:25:25
все такое, чтобы вы знали, сделайте это и скажите, что
00:25:27
требуется utf8 что-то вроде этого,
00:25:29
окей P, установите Hugging Face
00:25:31
Hub, это интересно, это выдает мне
00:25:35
ошибку, говорит: «Получите я, Python system
00:25:37
pip, установите Hugging Face Sub, и
00:25:38
требуется локальная utf8, ну, но что бы вы ни говорили,
00:25:41
вы можете установить Hugging Face Sub и
00:25:44
нажать его». э-э, низко на обнимающемся
00:25:47
лице, вы также можете объединить
00:25:49
адаптеры, если вы хотите объединить, вы
00:25:51
также можете это сделать, вы также можете преобразовать
00:25:54
его в ggf, у вас есть этот блокнот в
00:25:57
их репозитории GitHub, вы можете найти его
00:25:59
на GitHub на unso и о том, как вы можете
00:26:02
объединить его, и они создали эти
00:26:04
классы, объединяют и выгружают и устанавливают St,
00:26:05
где вы можете объединить адаптеры Lowa
00:26:07
в 4-битную модель, и вы знаете, что вы
00:26:08
ее точно настроили, но вы можете
00:26:11
видеть, насколько это быстро как только вы загрузите
00:26:14
модель и как только вы воспользуетесь моделью G pip,
00:26:17
быстрая языковая модель, как вы знаете, ну,
00:26:20
сделайте исправление моделей с помощью этих
00:26:22
слоев, всех слоев, а затем как вы
00:26:24
можете найти настройку, вот что я хотел
00:26:27
быстро рассказать, ребята, вы в очень
00:26:28
коротком видео вы узнаете, как можно использовать onslo
00:26:30
с TRL. Вы знаете, что библиотека train uh, которую
00:26:33
мы обучили, усиленная модель
00:26:35
обучения с подкреплением Transformer, языковая
00:26:36
модель поезда с обучением с подкреплением, так что я
00:26:40
надеюсь, что теперь вы поняли, как можно использовать
00:26:43
onlo для его точной настройки. а также
00:26:46
сделать вывод с очень высокой скоростью, чтобы
00:26:50
этот блокнот был доступен в моем
00:26:51
репозитории GitHub, и на этом наши
00:26:54
эксперименты с unlo заканчиваются
00:27:03
легкая
00:27:05
библиотека для вашей задачи по тонкой настройке, она
00:27:08
действительно помогает вам ускорить
00:27:10
процесс тонкой настройки, а также снижает
00:27:13
потребление памяти, поддерживает различные
00:27:15
типы методов, такие как SF-тренажеры, DPO-
00:27:19
тренажеры для какашек и еще много чего, а также поддерживает такие
00:27:21
модели, как Mistral и ламы, теперь
00:27:25
ноутбук будет доступен в моем
00:27:26
репортажном проекте GitHub, пожалуйста, найдите ссылку в
00:27:28
описании, и если у вас есть какие-либо мысли,
00:27:31
вопросы или отзывы, пожалуйста, дайте мне
00:27:32
знать в поле для комментариев. Если вам нравится
00:27:35
контент, нажмите значок «Нравится», а
00:27:38
если вы еще не подписались на канал,
00:27:39
пожалуйста подписывайтесь на канал,
00:27:42
делитесь видео и каналом с
00:27:43
друзьями и смотрите, большое спасибо
00:27:45
за просмотр, увидимся в следующем

Описание:

In this tutorial, I've shared an exciting method to speed up your large language model (LLM) fine-tuning process using "Unsloth." Unsloth is a breakthrough library designed to work seamlessly with HuggingFace, enhancing the efficiency of LLM fine-tuning on NVIDIA GPUs. This video is a comprehensive guide on how to leverage Unsloth for fine-tuning different architectures, including "Llama" and "Mistral," using the TRL trainers (SFTTrainer, DPOTrainer, PPOTrainer). Key Highlights: 1. Introduction to Unsloth: Discover what makes Unsloth a game-changer in the world of LLM fine-tuning. 2. Optimized Operations: Learn how Unsloth overwrites standard modeling code with highly optimized operations. 3. Efficiency & Accuracy: Understand how Unsloth manages to reduce memory usage and accelerate fine-tuning, all while maintaining a 0% accuracy loss compared to regular QLoRA. 4. Practical Demonstration: Watch as I fine-tune a Mistral 7B LLM (4bit) on the IMDB dataset for text generation, all within Google Colab using Unsloth. Whether you're a beginner or an experienced practitioner, this tutorial is designed to provide you with the knowledge and tools to fine-tune LLMs more efficiently. Remember, if you find this content helpful, please hit that Like button, and consider subscribing to the channel for more tutorials like this. Your support means a lot! Also, feel free to drop any questions or feedback in the comments section below. Happy fine-tuning, and I'll see you in the next tutorial! Code: https://github.com/AIAnytime/Unsloth-Fine-Tuning Unsloth: https://github.com/unslothai/unsloth Join this channel to get access to perks: https://www.youtube.com/channel/UC-zVytOQB62OwMhKRi0TDvg/join

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "Make LLM Fine Tuning 5x Faster with Unsloth"?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "Make LLM Fine Tuning 5x Faster with Unsloth" выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "Make LLM Fine Tuning 5x Faster with Unsloth"?mobile menu icon

  • Полностью зависать браузер/компьютер не должен! Если это произошло, просьба сообщить об этом, указав ссылку на видео. Иногда видео нельзя скачать напрямую в подходящем формате, поэтому мы добавили возможность конвертации файла в нужный формат. В отдельных случаях этот процесс может активно использовать ресурсы компьютера.

mobile menu iconКак скачать видео "Make LLM Fine Tuning 5x Faster with Unsloth" на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "Make LLM Fine Tuning 5x Faster with Unsloth"?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "Make LLM Fine Tuning 5x Faster with Unsloth"?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

  • Нисколько. Наши сервисы абсолютно бесплатны для всех пользователей. Здесь нет PRO подписок, нет ограничений на количество или максимальную длину скачиваемого видео.