Todos os produtos
Search
Central de documentação

Function Compute:Implante o Google Gemma de forma econômica com o Function Compute

Última atualização: Jun 29, 2026

Em 21 de fevereiro de 2024, o Google lançou oficialmente o Gemma, sua primeira família de modelos abertos, nas versões 2B e 7B. Use instâncias GPU e o modo ocioso do Function Compute para implantar um serviço de modelo Gemma de maneira rápida e econômica.

Pré-requisitos

Procedimento

A implantação do serviço de modelo Gemma gera cobranças pelos recursos consumidos, como GPU, vCPU, memória, uso de disco, tráfego de saída para a Internet e invocações de função. Para mais informações, consulte Visão geral do faturamento.

Crie uma aplicação

  1. Obtenha o nome de domínio e o endereço do seu repositório no Container Registry (ACR) seguindo estas etapas:

    1. Faça login no console do Container Registry, selecione a região da função e clique em Manage no cartão da instância Enterprise Edition desejada.

    2. No painel de navegação à esquerda, clique em Access Control e selecione a aba Internet. Ative a chave da entrada de acesso se estiver desligada. Para permitir que qualquer máquina na internet faça login no repositório, exclua todas as listas de permissões de IP público. Caso contrário, configure uma lista de permissões de IP público conforme necessário. Após concluir a configuração, salve o Domain Name da instância ACR.

      image

    3. No painel de navegação à esquerda, clique em Container Registry Repository e clique no Repository Name do repositório desejado para acessar a página de detalhes.

    4. Salve o Public Endpoint do repositório.

      image

  2. Baixe os pesos do modelo Gemma pelo Hugging Face ou pelo ModelScope. Este tópico usa o modelo Gemma-2b-it do ModelScope como exemplo. Para mais informações, consulte Gemma-2b-it.

    Importante

    Ao usar o Git para baixar o modelo, instale primeiro a extensão Git Large File Storage (LFS), execute git lfs install para inicializar o Git LFS e, em seguida, execute git clone para baixar o modelo. Caso contrário, o download pode ficar incompleto devido ao tamanho do arquivo, impedindo o funcionamento correto do serviço Gemma.

  3. Crie um Dockerfile e um arquivo de código do serviço de modelo chamado app.py.

    • Dockerfile

      FROM registry.cn-shanghai.aliyuncs.com/modelscope-repo/modelscope:fc-deploy-common-v17
      
      WORKDIR /usr/src/app
      
      COPY . .
      
      RUN pip install -U transformers
      RUN pip install -U accelerate
      
      CMD [ "python3", "-u", "/usr/src/app/app.py" ]
      
      EXPOSE 9000
    • app.py

      from flask import Flask, request
      from transformers import AutoTokenizer, AutoModelForCausalLM
      
      model_dir = '/usr/src/app/gemma-2b-it'
      
      app = Flask(__name__)
      
      tokenizer = AutoTokenizer.from_pretrained(model_dir)
      model = AutoModelForCausalLM.from_pretrained(model_dir, device_map="auto")
      
      @app.route('/invoke', methods=['POST'])
      def invoke():
          request_id = request.headers.get("x-fc-request-id", "")
          print("FC Invoke Start RequestId: " + request_id)
      
          text = request.get_data().decode("utf-8")
          print(text)
          input_ids = tokenizer(text, return_tensors="pt").to("cuda")
          outputs = model.generate(**input_ids, max_new_tokens=1000)
          response = tokenizer.decode(outputs[0])
          print("FC Invoke End RequestId: " + request_id)
          return str(response) + "\n"
      
      if __name__ == '__main__':
          app.run(debug=False, host='0.0.0.0', port=9000)

      Para obter mais informações sobre todos os cabeçalhos HTTP compatíveis com o Function Compute, consulte Cabeçalhos de solicitação comuns.

    Após esta etapa, o diretório de código terá a seguinte estrutura:

    .
    |-- app.py
    |-- Dockerfile
    `-- gemma-2b-it
        |-- config.json
        |-- generation_config.json
        |-- model-00001-of-00002.safetensors
        |-- model-00002-of-00002.safetensors
        |-- model.safetensors.index.json
        |-- README.md
        |-- special_tokens_map.json
        |-- tokenizer_config.json
        |-- tokenizer.json
        `-- tokenizer.model
    
    1 directory, 12 files
    
  4. Execute os comandos a seguir para criar e enviar a imagem de contêiner. Substitua {REPO_ENDPOINT} pelo endpoint público do repositório de imagens obtido na Etapa 1 e substitua {REGISTRY} pelo Domain Name da instância ACR.

    IMAGE_NAME={REPO_ENDPOINT}:gemma-2b-it
    docker login --username=mu****@test.aliyunid.com {REGISTRY} 
    docker build -f Dockerfile -t $IMAGE_NAME .
    docker push $IMAGE_NAME
    Importante

    Se estiver criando a imagem em um Mac com Apple silicon, substitua o comando docker build na linha 3 pelo comando abaixo para gerar uma imagem compatível com o Function Compute:

    docker build --platform linux/amd64 -f Dockerfile -t $IMAGE_NAME .
  5. Crie uma função.

    1. Faça login no console do Function Compute. No painel de navegação à esquerda, clique em Function.

    2. Na barra de navegação superior, selecione uma região. Na página Function, clique em Create Function.

    3. Na página Create Function, selecione Container Image, configure os parâmetros a seguir e clique em Create.

      A tabela a seguir descreve os principais parâmetros. Utilize os valores padrão para os demais.

      Parâmetro

      Descrição

      Image Configurations

      Image Selection Mode

      Selecione Use ARC Images.

      Container Image

      Clique em Select a Container Registry image abaixo e, no painel Select Container Image, selecione a imagem enviada na Etapa 3.

      Listening Port

      Defina este parâmetro como 9000.

      Advanced Settings

      GPU Acceleration

      Selecione Enable GPU.

      GPU Type

      Selecione NVIDIA T4.

      Specifications

      • GPU Memory Specifications: 16 GB.

      • vCPU Capacity: 2 vCPUs.

      • Memory Capacity: 16 GB.

  6. Quando o status da função mudar para OK, ative o modo ocioso.

    image

    1. Na página de detalhes da função, clique na aba Configuration. No painel de navegação à esquerda, clique em Provision Instance e, em seguida, clique em Create Provisioned Instance Policy.

    2. No painel Create Provisioned Instance Policy, defina Version or Alias como LATEST, defina Provisioned Instances como 1, defina Idle Mode como Enable e clique em OK.

      image

      Quando Current Provisioned Instances mudar para 1 e a mensagem Idle Mode Enabled aparecer, a instância provisionada para a função acelerada por GPU terá sido iniciada com sucesso.

      image

Usar o serviço Google Gemma

  1. Na página de detalhes da função, clique na aba Configuration. No painel de navegação à esquerda, clique em Trigger. Na página Triggers, obtenha a URL do gatilho.

    image

  2. Execute o comando a seguir para invocar a função.

    curl -X POST -d "who are you" https://func-i****-****.cn-shanghai.fcapp.run/invoke

    Saída esperada:

    <bos>who are you?
    
    I am a large language model, trained by Google. I am a conversational AI that can understand and generate human language, and I am able to communicate and provide information in a comprehensive and informative way.
    
    What can I do for you today?<eos>
  3. Na página de detalhes da função, clique na aba Instances. Localize a instância desejada e clique em Instance Metrics na coluna Actions. Na aba Instance Metrics, visualize as métricas.

    O uso de memória GPU da instância cai para zero quando não há invocação de função. Ao receber uma nova solicitação de invocação, o Function Compute restaura e aloca rapidamente os recursos de memória GPU necessários, o que ajuda a reduzir custos.

    Nota

    Para visualizar as métricas da instância, ative primeiro o recurso de log. Para mais informações, consulte Configurar logs.

Após a conclusão de uma invocação de função, o Function Compute coloca automaticamente a instância GPU em modo ocioso, sem necessidade de ação manual. Quando a próxima solicitação de invocação chegar, o Function Compute despertará a instância e a colocará no estado ativo para atender à solicitação.

Exclua recursos

Se não precisar mais desta função, exclua seus recursos para evitar cobranças adicionais. Se planeja usar esta aplicação a longo prazo, ignore esta seção.

  1. Retorne à página de visão geral do console do Function Compute. No painel de navegação à esquerda, clique em Function.

  2. Localize a função que deseja excluir e escolha More > Delete na coluna Actions. Na caixa de diálogo exibida, selecione I confirm that I want to delete the above resources and this function. I understand that these resources cannot be retrieved after deletion. e clique em Delete Function.

Faturamento

  • Teste gratuito: Novos usuários do Function Compute podem resgatar uma cota de teste para experimentar a aplicação fornecida neste tópico. Para mais informações, consulte Cota de teste. A cota de teste não cobre taxas de uso de disco. O uso de disco que exceder 512 MB é cobrado no modelo pagamento conforme o uso.

  • Para mais informações sobre o faturamento do Function Compute, consulte Visão geral do faturamento.

Referências

  • Para mais informações sobre o Gemma, a família de modelos abertos do Google, consulte gemma-open-models.

  • Para detalhes sobre o modo ocioso e exemplos de faturamento para instâncias GPU, consulte Visão geral do faturamento.