O Transformers é uma estrutura de aprendizado de máquina de código aberto desenvolvida pela Hugging Face que se concentra em fornecer definições avançadas de modelos para dar suporte à inferência e ao treinamento de tarefas de texto, imagem, áudio e multimodais. Ele simplifica o processo de uso de modelos e é compatível com uma variedade de estruturas de aprendizagem profunda convencionais, como PyTorch, TensorFlow e Flax. O Transformers oferece mais de 1 milhão de modelos pré-treinados que abrangem áreas como Processamento de Linguagem Natural, Visão Computacional e Reconhecimento de Fala, que são amplamente utilizados em pesquisa acadêmica e desenvolvimento comercial. Os usuários podem carregar modelos rapidamente e executar tarefas como geração de texto, segmentação de imagens ou conversão de fala em texto com um código simples. A estrutura é atualizada com frequência e a versão mais recente oferece suporte a novos modelos, como o Kyutai-STT e o ColQwen2, para permanecer na vanguarda da tecnologia.
Lista de funções
- API de pipeline que oferece suporte a várias tarefas, simplificando operações como geração de texto, reconhecimento de fala, classificação de imagens e muito mais.
- Fornece mais de 1 milhão de modelos pré-treinados que abrangem processamento de linguagem natural, visão computacional e tarefas multimodais.
- Compatível com PyTorch, TensorFlow e Flax, ele oferece suporte a várias estruturas de treinamento e inferência.
- Suporta o download e o armazenamento em cache de modelos do Hugging Face Hub para uso off-line.
- Fornecer ferramentas de linha de comando
transformers serve
Veja a seguir uma lista de servidores HTTP compatíveis com o OpenAI. - Suporte para ajuste fino e treinamento de modelos, adaptado a várias estruturas de treinamento, como DeepSpeed e PyTorch-Lightning.
- Oferece suporte aos modelos mais recentes, como o Kyutai-STT (conversão de fala em texto) e o ColQwen2 (recuperação de documentos).
Usando a Ajuda
Processo de instalação
O Transformers é fácil de instalar e suporta ambientes Python 3.9+. Recomendamos o uso de um ambiente virtual para evitar conflitos de dependência. Veja a seguir as etapas detalhadas de instalação:
- Criação de um ambiente virtual
Usando a funçãovenv
para criar um ambiente virtual:python -m venv transformers_env source transformers_env/bin/activate # Linux/Mac transformers_env\Scripts\activate # Windows
- Instalação de transformadores
fazer uso depip
Instale a versão estável mais recente:pip install transformers
Se o suporte à GPU for necessário, verifique se o driver CUDA apropriado está instalado e execute o seguinte comando para verificar a disponibilidade da GPU:
python -c "import torch; print(torch.cuda.is_available())"
Para experimentar os recursos mais recentes, você pode instalar a versão de desenvolvimento do GitHub:
pip install git+https://github.com/huggingface/transformers
- Verificar a instalação
Quando a instalação estiver concluída, execute o seguinte comando para testá-la:from transformers import pipeline print(pipeline('sentiment-analysis')('hugging face is awesome'))
O resultado deve ser algo como
{'label': 'POSITIVE', 'score': 0.9998}
Os resultados da
Usando a API do pipeline
O principal recurso do Transformers é a API de pipeline, que permite que os usuários executem tarefas complexas sem se aprofundar nos detalhes do modelo. A API de pipeline oferece suporte a uma ampla variedade de tarefas, como geração de texto, reconhecimento de fala e segmentação de imagens. Veja como ela funciona:
- Geração de texto
Use a API do pipeline para geração de texto:from transformers import pipeline generator = pipeline(task="text-generation", model="Qwen/Qwen2.5-1.5B") result = generator("The secret to baking a really good cake is") print(result[0]["generated_text"])
Os modelos são automaticamente baixados e armazenados em cache no diretório padrão
~/.cache/huggingface/hub
. Os usuários podem definir a variável de ambienteTRANSFORMERS_CACHE
Altere o caminho do cache. - reconhecimento de fala
Para tarefas de fala para texto, a API do pipeline é igualmente simples:from transformers import pipeline asr = pipeline(task="automatic-speech-recognition", model="openai/whisper-large-v3") result = asr("https://huggingface.co/datasets/Narsil/asr_dummy/resolve/main/mlk.flac") print(result["text"])
A saída é o conteúdo de texto de um arquivo de áudio, por exemplo, "I have a dream ......".
- Interação com a linha de comando
O Transformers fornece ferramentas de linha de comandotransformers serve
Se você quiser iniciar um servidor HTTP compatível com a API OpenAI, poderá fazê-lo clicando no link a seguir:transformers serve
Os usuários podem interagir com o modelo por meio de solicitações HTTP, o que o torna adequado para integração com outros aplicativos.
Uso off-line
O Transformers suporta o modo off-line, que é adequado para ambientes sem rede. Os usuários podem configurá-lo seguindo as etapas a seguir:
- Faça o download do modelo localmente:
from huggingface_hub import snapshot_download snapshot_download(repo_id="meta-llama/Llama-2-7b-hf", repo_type="model")
- Defina variáveis de ambiente para ativar o modo off-line:
export HF_HUB_OFFLINE=1
- Carregar o modelo local:
from transformers import LlamaForCausalLM model = LlamaForCausalLM.from_pretrained("./path/to/local/directory", local_files_only=True)
O modo off-line garante que o carregamento do modelo não dependa da rede e é adequado para ambientes de produção.
Recurso: Suporte a novos modelos
O Transformers é constantemente atualizado para oferecer suporte aos modelos mais recentes. Por exemplo:
- Kyutai-STTModelo de fala para texto baseado no codec Mimi com suporte para processamento de áudio de fluxo contínuo. Instale a versão de visualização:
pip install git+https://github.com/huggingface/transformers@v4.52.4-Kyutai-STT-preview
- ColQwen2Modelo para recuperação de documentos, que lida com recursos visuais de imagens de páginas. O método de instalação é semelhante:
pip install git+https://github.com/huggingface/transformers@v4.52.4-ColQwen2-preview
Esses modelos serão lançados oficialmente em versões subsequentes (por exemplo, v4.53.0) e os usuários poderão experimentá-los antecipadamente.
Ajuste fino e treinamento
O Transformers suporta o ajuste fino do modelo e é compatível com uma ampla gama de estruturas de treinamento. Os usuários podem usar run_clm.py
Scripts para treinamento de modelos de linguagem:
HF_HUB_OFFLINE=1 python examples/pytorch/language-modeling/run_clm.py --model_name_or_path meta-llama/Llama-2-7b-hf --dataset_name wikitext
Esse recurso é adequado para desenvolvedores que precisam personalizar seus modelos.
cenário do aplicativo
- pesquisa acadêmica
Os pesquisadores usam os Transformers para carregar modelos pré-treinados para experimentação rápida em processamento de linguagem natural ou visão computacional. Por exemplo, ao testar novos algoritmos, os modelos do Hugging Face Hub podem ser chamados diretamente, economizando tempo de treinamento. - desenvolvimento de negócios
Os desenvolvedores corporativos usam os Transformers para criar chatbots, assistentes de voz ou ferramentas de análise de imagens. Por exemplo, use a API Pipeline para implementar rapidamente a geração de texto ou a funcionalidade de reconhecimento de voz para integração em produtos. - Educação e aprendizado
Estudantes e iniciantes aprendem a aprendizagem profunda com o Transformers, praticando tarefas como categorização e tradução de textos com a ajuda de modelos pré-treinados e código simples para reduzir a barreira da aprendizagem.
QA
- Quais frameworks de programação são compatíveis com o Transformers?
O Transformers é compatível com PyTorch, TensorFlow e Flax, e oferece suporte a várias estruturas de treinamento e inferência, como DeepSpeed, PyTorch-Lightning e vLLM. - Como você lida com o armazenamento em cache dos downloads de modelos?
Por padrão, os modelos são armazenados em cache no~/.cache/huggingface/hub
Isso pode ser feito por meio da variável de ambienteTRANSFORMERS_CACHE
Alterar o caminho. ConfiguraçõesHF_HUB_OFFLINE=1
O modo off-line pode ser ativado para carregar apenas o modelo local. - Preciso de uma GPU para usar o Transformers?
Não obrigatório, o Transformers é compatível com a operação da CPU, mas a GPU acelera a inferência e o treinamento. Uma versão somente para CPU está disponível para instalação para evitar a instalação de dependências CUDA.