Home
Login

Repositório oficial do Hugging Face com um guia de início rápido para o modelo Gemma, oferecendo vários scripts e notebooks práticos para inferência, ajuste fino e muito mais.

MITPython 11huggingfacehuggingface-gemma-recipes Last Updated: 2025-06-26

Apresentação Detalhada do Projeto Hugging Face Gemma Recipes

Visão Geral do Projeto

huggingface-gemma-recipes é um projeto de código aberto mantido oficialmente pela Hugging Face, com o objetivo de fornecer aos usuários exemplos de código e tutoriais minimizados relacionados aos modelos da família Google Gemma. O objetivo principal do projeto é ajudar os desenvolvedores a começar rapidamente com a inferência, ajuste fino e vários cenários de aplicação prática dos modelos Gemma.

Características do Projeto

🚀 Início Rápido

  • Fornece exemplos de código simplificados, reduzindo a barreira de entrada
  • Suporta o processamento de entrada multimodal (texto, imagem, áudio)
  • Integra as funcionalidades mais recentes da biblioteca Transformers

🎯 Suporte Multimodal

O projeto suporta as capacidades multimodais dos modelos Gemma 3:

  • Processamento de texto puro: Geração de texto e perguntas e respostas tradicionais
  • Compreensão de imagem: Descrição de imagem, perguntas e respostas visuais
  • Processamento de áudio: Transcrição de voz para texto, análise de áudio
  • Interação multimodal: Entrada mista de texto, imagem e áudio

Funcionalidades Principais

1. Inferência de Modelo

O projeto fornece uma interface de inferência de modelo unificada, suportando o carregamento e uso rápidos de modelos Gemma:

from transformers import AutoProcessor, AutoModelForImageTextToText
import torch

model_id = "google/gemma-3n-e4b-it"  # ou google/gemma-3n-e2b-it
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(model_id).to(device)

def model_generation(model, messages):
    inputs = processor.apply_chat_template(
        messages,
        add_generation_prompt=True,
        tokenize=True,
        return_dict=True,
        return_tensors="pt",
    )
    input_len = inputs["input_ids"].shape[-1]
    inputs = inputs.to(model.device, dtype=model.dtype)
    
    with torch.inference_mode():
        generation = model.generate(**inputs, max_new_tokens=32, disable_compile=False)
        generation = generation[:, input_len:]
        decoded = processor.batch_decode(generation, skip_special_tokens=True)
        print(decoded[0])

2. Exemplos de Uso

Processamento de Texto Puro

# Perguntas e respostas de texto
messages = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "What is the capital of France?"}
        ]
    }
]
model_generation(model, messages)

Processamento de Áudio

# Transcrição de voz para texto
messages = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "Transcribe the following speech segment in English:"},
            {"type": "audio", "audio": "https://huggingface.co/datasets/ariG23498/demo-data/resolve/main/speech.wav"},
        ]
    }
]
model_generation(model, messages)

Compreensão de Imagem

# Descrição de imagem
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "image": "https://huggingface.co/datasets/ariG23498/demo-data/resolve/main/airplane.jpg"},
            {"type": "text", "text": "Describe this image."}
        ]
    }
]
model_generation(model, messages)

3. Ajuste Fino de Modelo

O projeto fornece vários esquemas e scripts de ajuste fino:

Recursos de Ajuste Fino

  • [Fine tuning Gemma 3n on T4]: Tutorial de ajuste fino especificamente para GPUs T4
  • [Fine tuning Gemma 3n on images]: Script de ajuste fino para tarefas de compreensão de imagem
  • [Fine tuning Gemma 3n on audio]: Script de ajuste fino para tarefas de processamento de áudio
  • [Fine tuning Gemma 3n on images using TRL]: Esquema de ajuste fino de imagem baseado na biblioteca TRL

Configuração do Ambiente de Ajuste Fino

# Instalar dependências
$ pip install -U -q -r requirements.txt

Instalação e Uso

Requisitos do Sistema

  • Python 3.8+
  • PyTorch 2.0+
  • GPU com suporte CUDA (recomendado)

Instalação Rápida

# Instalar dependências principais
$ pip install -U -q transformers timm

# Instalar dependências completas (para ajuste fino)
$ pip install -U -q -r requirements.txt

Fluxo de Uso Básico

  1. Clonar o repositório do projeto
  2. Instalar os pacotes de dependência
  3. Selecionar o modelo Gemma apropriado
  4. Selecionar o script de inferência ou ajuste fino de acordo com a necessidade
  5. Executar o código correspondente

Estrutura do Projeto

huggingface-gemma-recipes/
├── notebooks/                 # Tutoriais em Jupyter Notebook
│   └── fine_tune_gemma3n_on_t4.ipynb
├── scripts/                   # Scripts de ajuste fino
│   ├── ft_gemma3n_image_vt.py
│   ├── ft_gemma3n_audio_vt.py
│   └── ft_gemma3n_image_trl.py
├── requirements.txt           # Lista de dependências
└── README.md                 # Descrição do projeto

Vantagens Técnicas

1. Facilidade de Uso

  • Exemplos de código minimizados, início rápido
  • Design de interface unificado, reduzindo o custo de aprendizado
  • Documentação e exemplos completos

2. Flexibilidade

  • Suporta o processamento de entrada multimodal
  • Fornece várias estratégias de ajuste fino
  • Compatível com diferentes configurações de hardware

3. Praticidade

  • Baseado na biblioteca oficial Transformers
  • Integra as mais recentes tecnologias de otimização de modelo
  • Fornece qualidade de código de nível de produção

Cenários de Aplicação

Pesquisa e Desenvolvimento

  • Pesquisa de IA multimodal
  • Avaliação de desempenho do modelo
  • Exploração de novos cenários de aplicação

Aplicações Comerciais

  • Sistema de atendimento ao cliente inteligente
  • Ferramentas de criação de conteúdo
  • Plataforma de análise multimídia

Educação e Treinamento

  • Ensino de cursos de IA
  • Prática de ajuste fino de modelo
  • Validação de conceitos técnicos

Comunidade e Suporte

Este projeto, como um projeto de código aberto mantido oficialmente pela Hugging Face, tem as seguintes vantagens:

  • Suporte ativo da comunidade
  • Manutenção e atualizações regulares
  • Sincronização com as versões mais recentes do modelo
  • Documentação e exemplos ricos

Resumo

huggingface-gemma-recipes é um projeto de código aberto de alta qualidade, fornecendo uma solução completa para o uso de modelos Gemma. Tanto iniciantes quanto desenvolvedores experientes podem encontrar recursos e orientação adequados. O suporte multimodal do projeto e os esquemas de ajuste fino flexíveis o tornam uma ferramenta importante no campo de desenvolvimento de IA atual.

Star History Chart