日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

基于函數計算低成本部署Google Gemma模型服務

Google在2024年02月21日正式推出了首個開源模型族Gemma,并同時上架了2b和7b兩個版本。您可以使用函數計算的GPU實例以及函數計算的閑置模式低成本快速部署Gemma模型服務。

前提條件

操作步驟

部署Gemma模型服務的過程中將產生部分費用,包括GPU資源使用、vCPU資源使用、內存資源使用、磁盤資源使用和公網出流量以及函數調用的費用。具體信息,請參見費用說明

創建應用

  1. 下載Gemma模型權重。您可以選擇從Hugging Face或ModelScope平臺下載,本文以從ModelScope下載Gemma-2b-it模型為例,詳情請參見Gemma-2b-it

    重要

    如果您使用Git下載模型,請先安裝Git擴展LFS后,執行git lfs install初始化Git LFS,然后再執行git clone進行下載。否則,由于模型過大,可能導致下載的模型不完整,無法正常使用Gemma服務。

  2. 創建Dockerfile文檔和模型服務代碼文件app.py

    • Dockerfile

      FROM registry-vpc.cn-shanghai.aliyuncs.com/modelscope-repo/modelscope:fc-deploy-common-v17
      
      WORKDIR /usr/src/app
      
      COPY . .
      
      RUN pip install -U transformers
      
      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)

      關于函數計算支持的所有HTTP Header,請參見函數計算公共請求頭

    完成后代碼目錄結構如下所示。

    .
    |-- 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
    
  3. 依次執行以下命令構建并推送鏡像。

    IMAGE_NAME=registry.cn-shanghai.aliyuncs.com/{NAMESPACE}/{REPO}:gemma-2b-it
    docker login --username=mu****@test.aliyunid.com registry.cn-shanghai.aliyuncs.com 
    docker build -f Dockerfile -t $IMAGE_NAME . && docker push $IMAGE_NAME

    以上命令中的{NAMESPACE}和{REPO}需替換為您已創建的命名空間名稱和鏡像倉庫名稱。

  4. 創建函數。

    1. 登錄函數計算控制臺,在左側導航欄,選擇函數

    2. 在頂部菜單欄,選擇地域,然后在函數頁面單擊創建函數

    3. 在創建函數頁面,選擇使用容器鏡像方式,設置以下配置項,然后單擊創建

      重點配置項說明如下,其余配置項選擇默認值即可。

      配置項

      說明

      鏡像配置

      鏡像選擇方式

      選擇使用 ACR 中的鏡像

      容器鏡像

      單擊下方的選擇 ACR 中的鏡像,然后在選擇容器鏡像面板,選擇步驟3推送的鏡像。

      監聽端口

      設置為9000。

      高級配置

      是否使用GPU

      選擇使用GPU

      GPU 卡型

      選擇Tesla 系列 T4 卡型

      規格方案

      • GPU顯存規格設置為16 GB。

      • vCPU 規格設置為2核。

      • 內存規格設置為16 GB。

  5. 待上一步創建的函數的狀態變更為函數已激活時,您可以為其開啟閑置預留模式。

    image

    1. 在函數詳情頁面選擇配置頁簽,在左側導航欄,選擇預留實例,然后單擊創建預留實例數策略

    2. 創建預留實例數策略面板中,版本或別名選擇LATEST,預留實例數設置為1,閑置模式選擇啟用,然后單擊確定

      image

      當前預留實例數變更為1,且您可以看到已開啟閑置模式的字樣,表示GPU閑置預留實例已成功啟動。

      image

使用Google Gemma服務

  1. 在函數詳情頁面,選擇配置頁簽,然后在左側導航欄,選擇觸發器,在觸發器頁面獲取觸發器的URL。

    image

  2. 執行以下命令調用函數。

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

    預期輸出如下。

    <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. 在函數詳情頁面,選擇實例頁簽,在實例頁面單擊目標實例ID右側操作列的實例指標,在實例詳情頁面的實例指標頁簽查看指標情況。

    您可以看到在沒有函數調用發生時,該實例的顯存使用量會降至零。而當有新的函數調用請求到來時,函數計算平臺會迅速恢復并分配所需的顯存資源。從而達到降本效果。

    說明

    查看指標的實例,需要先啟用日志功能,具體請參見配置日志

    image

函數調用結束后,函數計算會自動將GPU實例置為閑置模式,您無需手動操作。在下次調用到來之前,函數計算將該實例喚醒,置為活躍模式進行服務。

刪除資源

如您暫時不需要使用此函數,請及時刪除對應資源。如果您需要長期使用此應用,請忽略此步驟。

  1. 返回函數計算控制臺概覽頁面,在左側導航欄,單擊函數

  2. 單擊目標函數右側操作列的更多 > 刪除,在彈出的對話框中,勾選我確認要刪除以上資源,并同時刪除此函數。我已知曉這些資源刪除后將無法找回,然后單擊刪除函數。

費用說明

套餐領取

為了方便您體驗本文提供的應用,首次開通用戶可以領取試用套餐并開通函數計算服務。更多信息,請參見試用額度。試用套餐不支持抵扣磁盤使用量的費用,超出512 MB的磁盤使用量將按量付費。

資源消耗評估

函數計算配置vCPU為2核、內存為16 GB、GPU顯存為16 GB、磁盤大小為512 MB。1個閑置預留實例使用1小時,通過多次與Google Gemma進行對話,1小時內累計的活躍函數時間為20分鐘。產生的資源計費可參考以下表格內容:

計費項

活躍時間(20分鐘)計費

閑置時間(40分鐘)計費

vCPU資源

0.00009元/vCPU*秒 * (2 vCPU * 1200秒)=0.216元

0元

內存資源

0.000009元/GB*秒 * (16 GB * 1200秒)=0.1728元

0.000009元/GB*秒 * (16GB * 2400秒)=0.3456元

GPU資源

0.00011元/GB*秒 * (16 GB * 1200秒)=2.112元

0.000009元/GB*秒 * (16GB * 2400秒)=0.3456元

更多關于函數計算的計費信息,請參見計費概述

相關文檔

  • 關于Google發布的開源模型族Gemma的更多詳情,請參見gemma-open-models

  • 關于GPU實例閑置模式計費詳情以及計費示例,請參見計費概述