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

通過Eland上傳第三方NLP模型

在Elasticsearch(簡稱ES)機器學習中應用第三方訓練模型前,需要先將訓練模型導入ES中。本文介紹利用Eland工具通過在線或離線方式將Hugging Face模型上傳到阿里云ES。

背景信息

Eland通過將大數據處理能力與Python數據科學生態系統結合,為數據科學家提供了一個強大的工具,可以實現ES數據分析和機器學習任務等操作。例如,通過Eland將Hugging Face Transformer庫中的預訓練模型轉換為TorchScript表示形式(該形式的模型可以在沒有Python解釋器的環境中運行),模型分塊處理并將模型導入ES中。

關于Eland的更多信息,請參見Elastic Eland

版本兼容性

  • 阿里云ES 7.11及以上版本集群開始支持Eland。

    更高版本ES支持的Eland功能更豐富,建議在ES 8.3及更高版本中使用Eland功能。

  • 確保ES集群的主版本與Eland主版本一致,例如:ES 8.x 版本兼容Eland 8.x的版本,ES 7.x 版本兼容 Eland 7.x 版本,詳情請參見Elastic Eland

  • 支持Python 3.8、3.9、3.10版本。

  • 支持Pandas 1.5.3版本。

前提條件

  1. 已創建ECS實例,并配置Python環境,本文以Python 3.10.12為例。創建ECS實例,請參見Linux系統實例快速入門

    • 創建阿里云ECS時,鏡像可以選擇Ubuntu 22系列,自帶python3.10。否則自行下載并配置Python環境,具體操作,請參見Python官方文檔

    • 確保ECS環境網絡可正常訪問Hugging Face。

      Eland支持Hugging Face模型上傳,其他倉庫環境下的模型可能無法支持。

  2. 已創建阿里云ES,本文以ES 8.9版本為例。具體操作,請參見創建阿里云Elasticsearch實例

    • 將ECS的公網或私網IP地址加入到ES實例的對應白名單中,使ECS與ES實例連通。具體操作,請參見配置實例公網或私網訪問白名單

    • Eland功能上傳模型功能屬于ES白金版及企業版能力,阿里云ES為白金版服務,可直接上傳模型。

    • 跨大版本ES機器學習功能的使用可能存在差異性。其他ES版本,請參見Machine learning

準備工作

  1. 在ECS中執行如下命令,下載并安裝與阿里云ES兼容的Eland和torch,本文以Eland 8.7.0版本為例。

    pip3 install eland==8.7.0
    pip3 install torch==1.11.0 torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu
    pip install eland[pytorch]
    說明

    如果您需要使用PyTorch 1.13.1或更早版本導入NLP模型,請運行命令pip install torch==1.13.1,安裝適當版本的PyTorch。

  2. 檢查pandas版本

    執行如下命令查看pandas版本是否為1.5.3。

    pip show pandas

    如果pandas版本不是1.5.3,請執行以下命令更改pandas版本。

    pip install pandas==1.5.3

步驟一:上傳模型到阿里云ES

方法一:在線上傳

直接將huggingface倉庫中的模型上傳到阿里云ES中。

eland_import_hub_model \
      --url 'http://es-cn-w*****.ES.aliyuncs.com:9200' \
      --hub-model-id 'madhurjindal/autonlp-Gibberish-Detector-492513457' \
      --task-type text_classification \
      --es-username yourusername \
      --es-password  yourpassword \
      --es-model-id your-es-model-id-name \

方法二:離線上傳

將huggingface_hub倉庫中的模型下載到本地,再上傳到阿里云ES中。

  1. 在ECS中執行如下命令,下載huggingface_hub倉庫。

    # 下載huggingface_hub倉庫,huggingface_hub 是由 Hugging Face 提供的一個庫,用于與他們的模型庫進行交互,可以用來下載、上傳以及列出模型和其他庫資源。
    pip install huggingface_hub
    python3
    
    # 在Python解釋器中導入 snapshot_download 函數
    from huggingface_hub import snapshot_download
    # 使用 snapshot_download 函數下載一個名為 FlagAlpha/Llama2-Chinese-13b-Chat 的存儲庫的快照
    snapshot_download(repo_id="madhurjindal/autonlp-Gibberish-Detector-492513457")
  2. 在ECS中執行如下命令,將模型文件上傳到阿里云ES中。

    eland_import_hub_model \
          --url 'http://es-cn-w*****.ES.aliyuncs.com:9200' \
          --hub-model-id '/model/.cache/huggingface/hub/models--madhurjindal--autonlp-Gibberish-Detector-492513457/snapshots/c068f552cdee957e45d8773db9f7158d43902244' \
          --task-type text_classification \
          --es-username yourusername \
          --es-password  yourpassword \
          --es-model-id madhurjindal-autonlp-gibberish-detector-492513457-offline \

部分參數說明:

參數

說明

repo_id

Hugging Face模型中心的模型ID。

示例:madhurjindal/autonlp-Gibberish-Detector-492513457

url

ES的域名。

示例:http://es-cn-w*****.ES.aliyuncs.com:9200

hub-model-id

  • 在線上傳:Hugging Face模型中心的模型ID。

    示例:madhurjindal/autonlp-Gibberish-Detector-492513457

  • 離線上傳:模型文件在ECS中的路徑。

    示例:/model/.cache/huggingface/hub/models--madhurjindal--autonlp-Gibberish-Detector-492513457/snapshots/c068f552cdee957e45d8773db9f7158d43902244

task-type

模型使用的任務類型,不同模型支持的任務類型不同。

huggingface模型目前支持的任務類型包括:

  • question_answering

  • zero_shot_classification

  • text_classification

  • fill_mask

  • text_embedding

  • text_expansion

  • text_similarity

  • ner

es-username

ES實例的用戶名。

es-password

ES實例的密碼。

es-model-id

上傳到ES中后使用的模型ID,可自定義。

說明

自定義的模型ID中不能包含大寫字母。

示例:madhurjindal-autonlp-gibberish-detector-492513457-offline

步驟二:部署模型

  1. 登錄Kibana。具體操作,請參見登錄Kibana控制臺

  2. 單擊Kibana頁面左上角的image圖標,選擇Analytics > Machine Learning

  3. 在左側菜單欄,單擊模型管理(Model Management) > 已訓練模型(Trained Models)。

  4. (可選)在頁面上方,單擊同步作業和已訓練模型(Synchronize your jobs and trained models),在彈出的面板中單擊同步(Synchronize)。

  5. 將鼠標移動到目標模型操作(Actions)列的前面,單擊image圖標,啟動模型。

    image

  6. 在彈出的對話框中,配置模型后,單擊啟動(Start)。

    頁面右下角彈出已成功啟動的提示對話框,表明模型部署成功。

    說明

    模型無法啟動可能是集群內存不足,升配集群后再試。無法啟動的具體原因,請在提示對話框中單擊請參閱完整的錯誤信息查看。

步驟三:測試模型

  1. 已訓練模型頁面,在已部署模型的操作列,選擇image > 測試模型(Test model)。

    image

  2. 在彈出的面板中,測試已訓練模型,查看輸出結果是否符合預期。