作者:Bernhard Suhm, Josh Devins
Elastic 支持你需要的機(jī)器學(xué)習(xí)模型
Elastic? 讓你可以應(yīng)用適合你的用例和 ML 專業(yè)水平的機(jī)器學(xué)習(xí) (ML)。 你有多種選擇:
- 利用內(nèi)置的模型。 除了我們的可觀察性和安全解決方案中針對(duì)特定安全威脅和系統(tǒng)問(wèn)題類型的模型外,你還可以開(kāi)箱即用地使用我們專有的 Elastic Learned Sparse Encoder 模型,以及語(yǔ)言識(shí)別 —— 如果你使用非英文文本數(shù)據(jù)。
- 從任何地方訪問(wèn)第三方 PyTorch 模型,包括 HuggingFace 模型中心。
- 加載你自己訓(xùn)練的模型 —— 此時(shí)主要是 NLP transformer。
使用內(nèi)置模型可以讓你獲得開(kāi)箱即用的價(jià)值,不需要你具備任何 ML 專業(yè)知識(shí),而且你可以靈活地嘗試不同的模型并確定哪種模型對(duì)你的數(shù)據(jù)表現(xiàn)最好。
我們將模型管理設(shè)計(jì)為可擴(kuò)展到集群中的多個(gè)節(jié)點(diǎn),同時(shí)確保高吞吐量和低延遲工作負(fù)載的良好推理性能。 這在一定程度上是通過(guò)授權(quán)攝取管道運(yùn)行推理,并通過(guò)使用專用節(jié)點(diǎn)進(jìn)行計(jì)算要求高的模型推理 —— 在攝取階段,以及數(shù)據(jù)分析和搜索。
繼續(xù)閱讀以了解有關(guān) Eland 庫(kù)的更多信息,該庫(kù)可讓你將模型加載到 Elastic 中,以及它如何對(duì)你可能在 Elasticsearch? 中使用的各種類型的機(jī)器學(xué)習(xí)發(fā)揮作用 —— 從最新的 transformer 和自然語(yǔ)言處理 (NLP) 模型到提升 tree?回歸模型。
Eland 讓你可以將 ML 模型加載到 Elastic
我們的 Eland 庫(kù)提供了一個(gè)簡(jiǎn)單的界面,可以將 ML 模型加載到 Elasticsearch 中 —— 前提是它們是使用 PyTorch 訓(xùn)練的。 使用原生庫(kù) libtorch,并期望已導(dǎo)出或保存為 TorchScript 表示的模型,Elasticsearch 避免在執(zhí)行模型推理時(shí)運(yùn)行 Python 解釋器。
通過(guò)與 PyTorch 中用于構(gòu)建 NLP 模型的最流行格式之一集成,Elasticsearch 可以提供一個(gè)可處理各種 NLP 任務(wù)和用例的平臺(tái)。 我們將在接下來(lái)的 transformer 部分對(duì)此進(jìn)行更多介紹。
你可以通過(guò)三種方式使用 Eland 上傳模型:命令行、Docker 和你自己的 Python 代碼。 Docker 不那么復(fù)雜,因?yàn)樗恍枰诒镜匕惭b Eland 及其所有依賴項(xiàng)。 訪問(wèn) Eland 后,下面的代碼示例顯示了如何上傳 DistilBERT NER 模型,例如:
下面我們將詳細(xì)介紹 eland_import_hub_model 的每個(gè)參數(shù)。 你可以從 Docker 容器發(fā)出相同的命令。
上傳后,Kibana 的 ML 模型管理用戶界面可讓你管理 Elasticsearch 集群上的模型,包括增加額外吞吐量的分配,以及在(重新)配置系統(tǒng)時(shí)停止/恢復(fù)模型。
支持哪些模型?
Elastic 支持多種 transformer 模型,以及最流行的監(jiān)督學(xué)習(xí)庫(kù):
- NLP 和 embedding 模型:所有符合標(biāo)準(zhǔn) BERT 模型接口,使用 WordPiece 分詞算法的 transformer。 查看支持的模型架構(gòu)的完整列表。
- 監(jiān)督學(xué)習(xí):來(lái)自 scikit-learn、XGBoost 和 LightGBM 庫(kù)的訓(xùn)練模型被序列化并用作 Elasticsearch 中的推理模型。 我們的文檔提供了一個(gè)示例,用于訓(xùn)練 XGBoost 對(duì) Elastic 中的數(shù)據(jù)進(jìn)行分類。 你還可以使用我們的 data frame 分析導(dǎo)出和導(dǎo)入在 Elastic 中訓(xùn)練的受監(jiān)督模型。
- Genarative AI:你可以使用為 LLM(Large Language Model)?提供的 API 來(lái)傳遞查詢 —— 可能使用從 Elastic 檢索到的上下文進(jìn)行豐富 —— 并處理返回的結(jié)果。 有關(guān)更多說(shuō)明,請(qǐng)參閱此博客,該博客鏈接到 GitHub 存儲(chǔ)庫(kù),其中包含用于通過(guò) ChatGPT 的 API 進(jìn)行通信的示例代碼。
下面我們提供了有關(guān)你最有可能在搜索應(yīng)用程序上下文中使用的模型類型的更多信息:NLP transformer。
如何在 Elastic 中輕松應(yīng)用 transformers 和 NLP!
讓我們引導(dǎo)你完成加載和使用 NLP 模型的步驟,例如來(lái)自 Hugging Face 的流行 NER 模型,并檢查以下代碼片段中標(biāo)識(shí)的參數(shù)。
- 指定 Elastic cloud 標(biāo)識(shí)符。 或者,使用 --url 。
- 提供身份驗(yàn)證詳細(xì)信息以訪問(wèn)你的集群。 你可以查找可用的身份驗(yàn)證方法。
- 在 Hugging Face 模型中心指定模型的標(biāo)識(shí)符。
- 指定 NLP 任務(wù)的類型。 支持的值為 fill_mask、ner、text_classification、text_embedding 和 zero_shot_classification。
加載模型后,接下來(lái)需要部署它。 你可以在 Kibana 中機(jī)器學(xué)習(xí)選項(xiàng)卡的模型管理屏幕上完成此操作。 然后,你通常會(huì)測(cè)試模型以確保其正常工作。
現(xiàn)在你已準(zhǔn)備好使用部署的模型進(jìn)行推理。 例如,要提取命名實(shí)體,你可以在加載的 NER 模型上調(diào)用 _infer 端點(diǎn):
該模型識(shí)別兩個(gè)實(shí)體:人 “Josh” 和地點(diǎn) “Berlin”。
有關(guān)其他步驟,例如在推理管道中使用此模型和調(diào)整部署,請(qǐng)閱讀描述此示例的博客。
想看看如何應(yīng)用語(yǔ)義搜索 —— 例如,如何為文本創(chuàng)建嵌入,然后應(yīng)用向量搜索來(lái)查找相關(guān)文檔? 該博客逐步說(shuō)明了這一點(diǎn),包括驗(yàn)證模型性能。
不知道哪個(gè)模型的任務(wù)類型? 該表應(yīng)該可以幫助你入門。?
Hugging Face Model |
task-type |
---|---|
Named entity recognition |
ner |
Text embedding |
text_embedding |
Text classification |
text_classification |
Zero shot classification |
zero_shot_classification |
Question answering | question_answering |
Elastic 還支持將兩段文本彼此的相似程度作為 text_similarity 任務(wù)類型進(jìn)行比較 —— 這對(duì)于在將文檔文本與另一個(gè)提供的文本輸入進(jìn)行比較時(shí)對(duì)文檔文本進(jìn)行排名很有用,有時(shí)也稱為交叉編碼。
查看這些資源以獲取更多詳細(xì)信息
- 支持 PyTorch transformer,包括 Eland 的設(shè)計(jì)注意事項(xiàng)
- 將 transformers 加載到 Elastic 并在推理中使用它們的步驟
- 描述如何使用 ChatGPT 查詢專有數(shù)據(jù)的博客
- 使預(yù)訓(xùn)練的 transformer 適應(yīng)文本分類任務(wù),并將自定義模型加載到 Elastic
- 內(nèi)置語(yǔ)言識(shí)別,讓你在傳遞到僅支持英語(yǔ)的模型之前識(shí)別非英語(yǔ)文本
Elastic、Elasticsearch 和相關(guān)標(biāo)記是 Elasticsearch N.V. 在美國(guó)和其他國(guó)家/地區(qū)的商標(biāo)、徽標(biāo)或注冊(cè)商標(biāo)。 所有其他公司和產(chǎn)品名稱均為其各自所有者的商標(biāo)、徽標(biāo)或注冊(cè)商標(biāo)。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-622093.html
本博文中描述的任何特性或功能的發(fā)布和時(shí)間安排均由 Elastic 自行決定。 當(dāng)前不可用的任何特性或功能可能無(wú)法按時(shí)交付或根本無(wú)法交付。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-622093.html
到了這里,關(guān)于Elasticsearch:在 Elastic 中訪問(wèn)機(jī)器學(xué)習(xí)模型的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!