Недавно были выпущены различные базовые модели, которые служат мозгом генеративного искусственного интеллекта, и многие компании рассматривают или разрабатывают приложения, использующие базовые модели. Однако крупномасштабные модели нелегко построить на одном графическом процессоре, и их нелегко использовать в производстве или точно настраивать.
Это практическое руководство написано для тех, кто хочет быстро изучить генеративный искусственный интеллект и применить его в производстве, предоставляя пошаговое руководство по эффективному обслуживанию и точной настройке крупномасштабных корейских моделей в инфраструктуре AWS.
1_prepare-dataset-alpaca-method.ipynb
: подготовьте набор обучающих данных из набора данных инструкций. Этот метод токенизирует каждый образец.1_prepare-dataset-chunk-method.ipynb
: подготовьте набор обучающих данных из набора данных инструкций. Этот метод объединяет все выборки и делит их по размеру фрагмента.2_local-train-debug-lora.ipynb
: выполните отладку с некоторыми примерами данных в среде разработки, прежде чем серьезно приступить к обучающим экземплярам. Если вы уже знакомы с тонкой настройкой, пропустите это практическое занятие и перейдите к 3_sm-train-lora.ipynb.3_sm-train-lora.ipynb
: выполняет точную настройку обучающих экземпляров SageMaker. 1_local-inference.ipynb
: загружает модель из Hugging Face Hub и выполняет простой вывод. Хотя это и не обязательно, мы рекомендуем начать с этого курса, если вы хотите опробовать модель.2_local-inference-deepspeed.py
и 2_run.sh
: поэкспериментируйте с распределенным выводом DeepSpeed. Рекомендуется экземпляр или сервер, оснащенный несколькими графическими процессорами. (например, ml.g5.12xlarge
)3_sm-serving-djl-deepspeed-from-hub.ipynb
: выполняет обслуживание модели SageMaker с использованием обслуживающего контейнера SageMaker DJL (Deep Java Library) (распределенный вывод DeepSpeed). Хостинг-сервер загружает модели напрямую из Hugging Face Hub.3_sm-serving-djl-deepspeed-from-hub.ipynb
: выполняет обслуживание модели SageMaker с использованием обслуживающего контейнера SageMaker DJL (Deep Java Library) (распределенный вывод DeepSpeed). Хостинг-сервер загружает модель с S3. Скорость загрузки очень высокая, поскольку файлы загружаются параллельно внутри s5cmd.3_sm-serving-tgi-from-hub.ipynb
: выполняет обслуживание модели SageMaker с использованием обслуживающего контейнера SageMaker TGI (Text Generation Inferface). TGI — это сервер распределенного вывода, разработанный Hugging Face и демонстрирующий очень высокую скорость вывода.3_sm-serving-djl-fastertransformer-nocode.ipynb
: выполняет обслуживание модели SageMaker с использованием обслуживающего контейнера SageMaker DJL (глубокая библиотека Java) (распределенный вывод NVIDIA FasterTransformer). Он показывает более высокие скорости, чем DeepSpeed, только для поддерживаемых моделей. Для практического выполнения этого упражнения мы рекомендуем подготовить экземпляр со спецификациями, указанными ниже.
Альтернативно вы можете использовать SageMaker Studio Lab или SageMaker Studio.
ml.t3.medium
(минимальная спецификация)ml.m5.xlarge
(рекомендуется)ml.g5.2xlarge
(минимальная спецификация)ml.g5.12xlarge
(рекомендуется)ml.g5.2xlarge
: Модель с параметрами 7B или меньше.ml.g5.12xlarge
(рекомендуется) Этот пример кода предоставляется по лицензии MIT-0. Пожалуйста, обратитесь к файлу лицензии.