Mistral 7B 開箱 — 真正意義上的開源 LLM 模型

2023-10-02 | SimonLiu

本文內容難度: ★ ★ ★ ☆ ☆

建議閱讀對象:這份內容適合給想要了解 Local LLM 模型的工程師們,或者想要找尋可商用之模型的企業管理者,讓大家可以了解此模型要如何進行使用。

當大家對於 Meta 開源了 LLaMa 2 ,讓大家在符合規定下可以進行 Local LLM 商用化的可能性時,AI 新創公司 Mistral AI 以 Apache 2.0 授權方式開源了新的 LLM 模型,他們命名為 Mistral 7B,這個模型先說一個結論:我覺得是一個可以值得關注的模型,因為他所擁有的基礎功能,都符合台灣人所需要的條件,也因此,本次想透過此篇文章,來介紹此模型。

參數量 — 決定模型大小

在介紹模型前,要先介紹一下參數量的概念。

在深度學習領域,參數通常指的是模型中的權重和偏差,模型大小和其參數量直接相關,而這些參數會影響模型的訓練、預測能力以及計算需求。

那,為什麼參數量很重要?我們可以分為以下三點:

  1. 能力: 隨著參數量的增加,模型的表示能力也增加。這意味著模型能夠學習和理解更複雜的模式。
  2. 記憶: 大量的參數允許模型記住大量的資訊,這在語言模型中尤其重要,因為它需要記住語法、詞彙和常見知識。
  3. 計算需求: 更多的參數意味著在訓練和推理時需要更多的計算能力。這可能會增加訓練時間和所需的硬體資源。

Mistral 7B — 小鯨魚也能跟大蝦米對抗

Mistral AI,一家AI新創企業,最近將 Mistral 7B 釋放為開源。儘管 Mistral 7B 的參數量相對較小,只有73億的參數量,但它在各項基準測試中的表現,卻超越了一些規模更大的語言模型,例如擁有130億參數量的 Llama 2 13B,就很像一個小鋼炮一樣。值得一提的是,Mistral 7B 不僅能夠編寫程式碼,還能夠處理高達8,000個token,展現出其強大的處理能力。

真正的開源模型 — Apache 2.0 License

如果你認真看過 LLaMa 2 授權協議規範,Llama 2 授權協議提供了非獨家、全球性、不可轉讓、無版稅的有限授權,用於使用、修改和分發 Llama 2 的材料,但基於使用者規模和使用目的有一些限制。如果一個產品的月活躍用戶超過 7 億,則必須向 Meta 申請特殊授權。

而 Mistral 7B 是在 Apache 2.0 授權下發布的,允許在使用、修改和分發方面的自由,但要求保留版權通知和免責聲明。

也因此,Mistral 7B 模型是直接開源在 Huggingface 上,不需要像 Meta 的填寫問卷授權,就能夠提供給大家進行使用與下載:

那如果想直接使用 Transformer 套件,你可以使用以下程式碼進行測試:# Importing necessary libraries
from transformers import AutoTokenizer, AutoModelForCausalLM

# Loading the tokenizer and model
tokenizer = AutoTokenizer.from_pretrained(“mistralai/Mistral-7B-v0.1”)
model = AutoModelForCausalLM.from_pretrained(“mistralai/Mistral-7B-v0.1”)

# Function to generate text
def generate_text(prompt_text):
# Encoding the input text to tensor
input_ids = tokenizer.encode(prompt_text, return_tensors=’pt’)

# Generating a sequence of text
output = model.generate(input_ids, max_length=150, num_beams=5, temperature=1.5, pad_token_id=50256)

# Decoding the generated sequence to text
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)

return generated_text

# Example usage
prompt = “My name is Merve and my favorite”
generated_story = generate_text(prompt)
print(generated_story)

支援 GGUF 模型推論架構

GGUF 模型推論架構是由 llama.cpp 團隊於 2023 年 8 月 21 日推出的新格式。跟過去的 GGML 架構相比,GGUF 相比 GGML 有許多優勢,如更好的分詞,對特殊符號的支援,還支援 Metadata等,並且被設計為可擴展的模式,因此目前最新的架構會逐步改成​ GGUF 模型架構。

那 Mistral 7B 已經經由 TheBloke 轉換成 GGUF 格式,並且提供 Huggingface 下載方式,讓大家可以使用到 GGUF 模型:

我在Mistral AI公布的當天,已經先測試過大家所關心的重點:

歡迎大家追蹤 Linkedin: https://www.linkedin.com/in/simonliuyuwei/

測試的結果回覆狀況如下:

能夠繁中/簡中回覆,回覆程式碼狀況不錯,可以得到完整結果
訓練的資訊雖已經盡量包含,但是要變成專業型LLM模型需進行 Fine-Tuning 工作
開放性問題,可以簡單扼要回覆,感覺邏輯性的處理上可以達到效果
運行在 Apple M1 Pro 電腦上,整體回覆速度非常的快(感謝同事提供相關資訊)

結論

我其實非常樂見這樣的小模型能夠持續在市場上進行研究,畢竟過去電腦的發展,從麥金塔到桌上型電腦,再到手機、筆記型電腦等裝置,也是將硬體越做越來越小,而這樣規模的模型,雖說整體所需資源還是滿高的,但是有這樣的發展,才有機會運用到更多的場域上,像是 Edge Computing、或者在晶片上就可以實現 LLM 模型,而這次 Mistral 7B 的真正開源模型的出現,也讓大家更有機會做出更多商業性的可能性,幫助 LLM 模型服務的生態系能夠做得更好!

資料來源:https://blog.infuseai.io/mistral-7b-introduction-2f6857f6982b

Related posts