今天, Google發布了開源的小模型Gemma.
Gemma使用的是與Google的商業Gemini大模型相同的技術, 但專注于小模型. 有意思的是, gemma這個名稱來自于拉丁語, 意為“precious stone”, 中文是”寶石“
Gemma包括兩個大小的模型, 分別是Gemma 2B與Gemma 7B, 每個模型又包括基礎模型及指令微調模型
Gemma 2B與Gemma 7B都屬于小模型行列, 小模型的優勢在于普通個人只要有顯卡, 你就能在本地把它跑起來并使用它, 而不需要太多的資源需求.
2B就是20億參數, 7B就是70億參數. 它們都屬于小模型的行列, 如果不理解, 可以對比下Meta開源的Llama 2最高是70B, 也就是700億參數
Gemma 7B適應于消費級顯卡, 也就是4090這一類的消費級顯卡就能把它跑起來. 而Gemma 2B則對硬件的要求更低, 適應于CPU或移動設備
Gemma 2B與Gemma 7B都包括兩個版本, 基礎模型與指令微調模型. 一般我們使用的與AI聊天, 就屬于指令微調模型. 指令微調模型經過優化, 能更好的回答用戶的問題, 與用戶聊天等.
每個模型發布, 最喜歡做的一件事就是展現自己的性能評分. Gemma也不例外.
根據Gemma自己提供的數據, 雖然屬于小模型, 但分數及性能表現非常好. 參照如下圖:
通過這個性能評分表來看, 在以LLama 2 70B做為基準來評分, 可以看到:
當然, 官方也提及, 這個性能表現不是針對聊天類, 而是評估基礎模型的性能的. 但現在大多數使用AI, 都是聊天為主, 所以聊天類的性能表現, 暫時還沒有看到官方提供.
關于小模型, 就不得不提及到微軟的PHI-2了, 從上面的性能表現上也可以看出, PHI-2參數為27億, 但表現卻非常優秀. 如果要關注小模型, PHI-2是個不能錯過的模型.
官方的示例中使用了transformers來運行Gemma.
不過實際上, 使用本地模型, 我們大多會使用諸如ollama, vllm這一類的第三方工具來, 更簡單方便.
在查閱了ollma官網中支持的模型列表后, 發現Gemma已經被支持了. 建議使用ollama來跑更快.
ollama最新版本是0.1.26. 之前的版本運行Gemma會報錯
ollama -v
#應該顯示 ollama version is 0.1.26
#默認是2b
ollama run gemma
#運行7B
ollama run gemma:7b
ollama支持命令行下直接和模型聊天, 也支持通過API與它交互. 這個API與OpenAI是幾乎一致的.
curl http://localhost:11434/api/chat -d '{
'model': 'gemma',
'stream': false,
'messages': [
{
'role': 'user',
'content': '你好,你是誰'
}
]
}'
最后, 模型回復了
{
'model': 'gemma',
'created_at': '2024-02-22T03:01:10.980044Z',
'message': {
'role': 'assistant',
'content': '你好!我是大自然語言模型,這是一個人工智能系統。我是一個大型語言模型,可以理解和生成多種語言形式的文本。\n\n請問您有什么可以幫助您的內容嗎?'
}
}
?
體驗下來, 雖然是2B, 但效果確實還可以. 也支持中文.
隨著AI的發展, 不僅是開源AI越來越成熟. 開源的小模型也越來越多, 效果越來越優秀.
如果你期望在本地搭建一個AI, 而不是使用在線的諸如OpenAI或文心一言等, 現在其實已經有非常多的選擇了.
國內也有非常好的選擇, 主要是:
國外的就更多了.
小模型除了Google的Gemma之外, 還有一個微軟的PHI也非常值得關注, 相比下來更優秀. 另外Qwen的小模型, 比如1.5B, 4B其性能表現也很出色, 后續我再慢慢來聊一聊它們.