2023-10-02 | SimonLiu
本文內容難度: ★ ★ ★ ☆ ☆
建議閱讀對象:這份內容適合給想要了解 Local LLM 模型的工程師們,或者想要找尋可商用之模型的企業管理者,讓大家可以了解此模型要如何進行使用。
當大家對於 Meta 開源了 LLaMa 2 ,讓大家在符合規定下可以進行 Local LLM 商用化的可能性時,AI 新創公司 Mistral AI 以 Apache 2.0 授權方式開源了新的 LLM 模型,他們命名為 Mistral 7B,這個模型先說一個結論:我覺得是一個可以值得關注的模型,因為他所擁有的基礎功能,都符合台灣人所需要的條件,也因此,本次想透過此篇文章,來介紹此模型。
參數量 — 決定模型大小
在介紹模型前,要先介紹一下參數量的概念。
在深度學習領域,參數通常指的是模型中的權重和偏差,模型大小和其參數量直接相關,而這些參數會影響模型的訓練、預測能力以及計算需求。
那,為什麼參數量很重要?我們可以分為以下三點:
- 能力: 隨著參數量的增加,模型的表示能力也增加。這意味著模型能夠學習和理解更複雜的模式。
- 記憶: 大量的參數允許模型記住大量的資訊,這在語言模型中尤其重要,因為它需要記住語法、詞彙和常見知識。
- 計算需求: 更多的參數意味著在訓練和推理時需要更多的計算能力。這可能會增加訓練時間和所需的硬體資源。
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公布的當天,已經先測試過大家所關心的重點:

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

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