自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Mixtral:數(shù)據(jù)流中的生成式稀疏專家混合模型 原創(chuàng)

發(fā)布于 2024-4-18 08:56
瀏覽
0收藏

Cloudera公司數(shù)據(jù)流首席工程師Tim Spann 表示,Mixtral-8x7B大型語言模型(LLM)是一個預(yù)先訓(xùn)練的生成式稀疏專家混合模型。

他表示,這個模型很有趣,也很容易理解。在適當(dāng)?shù)奶崾鞠?,它似乎表現(xiàn)很好。而通過用例,他并不確定Mixtral-8x7B是否比Google Gemma、Meta LLAMA2或OLLAMA Mistral更好。

Spann撰寫的文章將展示如何使用Mixtral LLM,只需要幾個步驟就可以針對文本輸入運(yùn)行Mixtral LLM。

該模型可以由輕量級無服務(wù)器REST API或Transformer庫運(yùn)行。也可以使用GitHub存儲庫,其場景最多可以有32000個令牌。開發(fā)人員還可以輸入英語、意大利語、德語、西班牙語和法語的提示。關(guān)于如何利用這一模型有很多選項,而本文將展示如何利用Apache NiFi系統(tǒng)構(gòu)建實時LLM管道。

開發(fā)人員需要決定的一個關(guān)鍵問題是將使用什么樣的輸入(聊天、代碼生成、問答、文檔分析、摘要等)。一旦決定輸入,需要創(chuàng)建一些提示,并且進(jìn)行調(diào)整。文中將提供一些指導(dǎo),幫助提高快速構(gòu)建技能。Spann在其演練教程中介紹一些基本的提示工程。

構(gòu)建最佳提示的指南

提示符的構(gòu)建對于使其正常工作非常關(guān)鍵,因此使用Apache NiFi系統(tǒng)構(gòu)建提示符。

流程概述

步驟1:創(chuàng)建并格式化提示符

在構(gòu)建應(yīng)用程序時,以下是將要使用的基本提示模板。

提示模板

{ 
"inputs": 
"<s>[INST]Write a detailed complete response that appropriately 
answers the request.[/INST]
[INST]Use this information to enhance your answer: 
${context:trim():replaceAll('"',''):replaceAll('\n', '')}[/INST] 
User: ${inputs:trim():replaceAll('"',''):replaceAll('\n', '')}</s>" 
}  

將在ReplaceText處理器的替換值字段中輸入這個提示符。

步驟2:構(gòu)建對HuggingFace REST API的調(diào)用,根據(jù)模型進(jìn)行分類

在數(shù)據(jù)流中添加一個InvokeHTTP處理器,將HTTP URL設(shè)置為Mixtral API URL。

步驟3:查詢轉(zhuǎn)換和清理結(jié)果

使用QueryRecord處理器來清理和轉(zhuǎn)換抓取generated_text字段的HuggingFace結(jié)果。

Mixtral:數(shù)據(jù)流中的生成式稀疏專家混合模型-AI.x社區(qū)

步驟4:添加元數(shù)據(jù)字段

使用UpdateRecord處理器來添加元數(shù)據(jù)字段、JSON讀取器和寫入器,以及文字值替換值策略(Literal Value Replacement Value Strategy)。而正在添加的字段是添加屬性。

Mixtral:數(shù)據(jù)流中的生成式稀疏專家混合模型-AI.x社區(qū)

發(fā)送到Kafka和Slack的概述。

步驟5:將元數(shù)據(jù)添加到數(shù)據(jù)流

使用UpdateAttribute處理器來添加正確的“application/json Content Type”,并將模型類型設(shè)置為Mixtral。

Mixtral:數(shù)據(jù)流中的生成式稀疏專家混合模型-AI.x社區(qū)

步驟6:將清理后的記錄發(fā)送到Kafka Topic

將它發(fā)送到本地Kafka代理(可能是Docker或其他)和flank-mixtral8x7B主題。如果不存在,NiFi和Kafka會自動創(chuàng)建一個。

Mixtral:數(shù)據(jù)流中的生成式稀疏專家混合模型-AI.x社區(qū)

步驟7:重新嘗試發(fā)送

如果出現(xiàn)問題,將嘗試重新發(fā)送三次,然后中止。

Mixtral:數(shù)據(jù)流中的生成式稀疏專家混合模型-AI.x社區(qū)

將數(shù)據(jù)推送到Slack的概述。

步驟8:將相同的數(shù)據(jù)發(fā)送到Slack供用戶回復(fù)

第一步是拆分為單個記錄,每次發(fā)送一個記錄。為此使用SplitRecord處理器。

Mixtral:數(shù)據(jù)流中的生成式稀疏專家混合模型-AI.x社區(qū)

和以前一樣,重用JSON樹讀取器和JSON記錄集編寫器。像往常一樣,選擇“1”作為“每次拆分的記錄”。

步驟9:使生成的文本可用于消息傳遞

使用EvaluateJsonPath從Mixtral (on HuggingFace)提取生成的文本。

Mixtral:數(shù)據(jù)流中的生成式稀疏專家混合模型-AI.x社區(qū)

步驟10:將回復(fù)發(fā)送到Slack

使用PublishSlack處理器,這是Apache NiFi 2.0的新功能。這需要設(shè)定頻道名稱或頻道ID。選擇使用“Message Text”屬性的發(fā)布策略。對于消息文本,使用下面的Slack Response模板。

Mixtral:數(shù)據(jù)流中的生成式稀疏專家混合模型-AI.x社區(qū)

對于用戶的最終回復(fù)需要一個 Slack 響應(yīng)模板,該模板的格式應(yīng)符合需要的溝通方式。以下是一個具有基本功能的示例。

Slack響應(yīng)模板
===============================================================================================================
HuggingFace ${modelinformation} Results on ${date}:
Question: ${inputs}
Answer:
${generated_text}
=========================================== Data for nerds ====
HF URL: ${invokehttp.request.url}
TXID: ${invokehttp.tx.id}
== Slack Message Meta Data ==
ID: ${messageid} Name: ${messagerealname} [${messageusername}]
Time Zone: ${messageusertz}
== HF ${modelinformation}  Meta Data ==
Compute Characters/Time/Type: ${x-compute-characters} / ${x-compute-time}/${x-compute-type}
Generated/Prompt Tokens/Time per Token: ${x-generated-tokens} / ${x-prompt-tokens} : ${x-time-per-token}
Inference Time: ${x-inference-time}  // Queue Time: ${x-queue-time}
Request ID/SHA: ${x-request-id} / ${x-sha}
Validation/Total Time: ${x-validation-time} / ${x-total-time}
===============================================================================================================

運(yùn)行這一程序時,它將看起來像Slack中的下圖。

現(xiàn)在已經(jīng)向 Hugging Face 發(fā)送了提示,讓它針對 Mixtral 運(yùn)行,將結(jié)果發(fā)送到 Kafka,并通過 Slack 回復(fù)用戶。

現(xiàn)在已經(jīng)用零代碼完成了完整的Mixtral應(yīng)用程序。

結(jié)論

現(xiàn)在,已經(jīng)使用Apache NiFi、HuggingFace和Slack構(gòu)建了一個完整的往返程序,以使用新的Mixtral模型構(gòu)建聊天機(jī)器人。

學(xué)習(xí)摘要

  • 學(xué)會了如何為HuggingFace Mixtral建立一個提示
  • 學(xué)習(xí)如何清理數(shù)據(jù)流
  • 構(gòu)建一個可以重用的HuggingFace REST調(diào)用
  • 處理HuggingFace模型調(diào)用結(jié)果
  • 發(fā)送第一條 Kafka 消息
  • 格式化和構(gòu)建Slack調(diào)用
  • 為生成式人工智能構(gòu)建一個完整的數(shù)據(jù)流

如果需要使用新的Apache NiFi 2.0的其他教程,可以查看:

以下是有關(guān)構(gòu)建Slack機(jī)器人的更多信息:

Tim Spann正在編寫Apache NiFi 2和生成式人工智能教程。

以下是他提供的一些資源:

??Mixtral of Experts??

??Mixture of Experts Explained?? 

??mistralai/Mixtral-8x7B-v0.1?? 

??Mixtral Overview?? 

??Invoke the Mixtral 8x7B model on Amazon Bedrock for text generation?? 

??Running Mixtral 8x7b on M1 16GB??

??Mixtral-8x7B: Understanding and Running the Sparse Mixture of Experts by Mistral AI??

??Retro-Engineering a Database Schema: Mistral Models vs. GPT4, LLama2, and Bard (Episode 3)?? 

??Comparison of Models: Quality, Performance & Price Analysis?? 

??A Beginner’s Guide to Fine-Tuning Mixtral Instruct Model?? 

原文標(biāo)題:Mixtral: Generative Sparse Mixture of Experts in DataFlows,作者:Tim Spann

鏈接:https://dzone.com/articles/mixtral-generative-sparse-mixture-of-experts-in-da。

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦