Recentemente, vários modelos básicos que servem como cérebro da IA generativa foram lançados e muitas empresas estão revisando ou desenvolvendo aplicativos que utilizam modelos básicos. No entanto, modelos em grande escala não são fáceis de inferir em uma única GPU e não é fácil atendê-los para produção ou ajustá-los.
Este prático foi escrito para aqueles que desejam revisar rapidamente a IA generativa e aplicá-la à produção, fornecendo um guia passo a passo sobre como servir e ajustar com eficiência modelos coreanos em grande escala na infraestrutura da AWS.
1_prepare-dataset-alpaca-method.ipynb
: Prepare um conjunto de dados de treinamento a partir do conjunto de dados de instrução. Este método tokeniza cada amostra.1_prepare-dataset-chunk-method.ipynb
: Prepare um conjunto de dados de treinamento a partir do conjunto de dados de instruções. Este método concatena todas as amostras e as divide de acordo com o tamanho do pedaço.2_local-train-debug-lora.ipynb
: Depurar com alguns dados de amostra no ambiente de desenvolvimento antes de executar seriamente as instâncias de treinamento. Se você já está familiarizado com o ajuste fino, pule esta prática e prossiga com 3_sm-train-lora.ipynb.3_sm-train-lora.ipynb
: executa o ajuste fino nas instâncias de treinamento do SageMaker. 1_local-inference.ipynb
: Carrega o modelo do Hugging Face Hub e realiza inferência simples. Embora não seja obrigatório, recomendamos começar com este curso se quiser experimentar o modelo.2_local-inference-deepspeed.py
e 2_run.sh
: Experimente a inferência distribuída do DeepSpeed. Recomenda-se uma instância ou servidor equipado com várias GPUs. (por exemplo, ml.g5.12xlarge
)3_sm-serving-djl-deepspeed-from-hub.ipynb
: Executa o serviço do modelo SageMaker usando o contêiner de serviço SageMaker DJL (Deep Java Library) (inferência distribuída DeepSpeed). O servidor de hospedagem baixa modelos diretamente do Hugging Face Hub.3_sm-serving-djl-deepspeed-from-hub.ipynb
: Executa o serviço do modelo SageMaker usando o contêiner de serviço SageMaker DJL (Deep Java Library) (inferência distribuída DeepSpeed). O servidor de hospedagem baixa o modelo do S3. A velocidade de download é muito rápida porque os arquivos são baixados em paralelo internamente pelo s5cmd.3_sm-serving-tgi-from-hub.ipynb
: executa o serviço do modelo SageMaker usando o contêiner de serviço SageMaker TGI (Text Generation Inferface). TGI é um servidor de inferência distribuído desenvolvido pela Hugging Face e apresenta velocidade de inferência muito rápida.3_sm-serving-djl-fastertransformer-nocode.ipynb
: executa o serviço do modelo SageMaker usando o contêiner de serviço SageMaker DJL (Deep Java Library) (inferência distribuída NVIDIA FasterTransformer). Ele mostra velocidades mais rápidas que o DeepSpeed apenas para modelos suportados. Para realizar este hands-on, recomendamos preparar uma instância com as especificações abaixo.
Alternativamente, você pode usar o SageMaker Studio Lab ou o SageMaker Studio.
ml.t3.medium
(especificação mínima)ml.m5.xlarge
(recomendado)ml.g5.2xlarge
(especificação mínima)ml.g5.12xlarge
(recomendado)ml.g5.2xlarge
: Modelo com parâmetros 7B ou menosml.g5.12xlarge
(recomendado) Este código de exemplo é fornecido sob a licença MIT-0. Consulte o arquivo de licença.