強大的開源Llama 2到底如何為己用呢?本篇文章教你如何在本機安裝並使用Llama 2 發佈留言 / 大型語言模型, 科技工具, 軟體應用 / 作者: softaverse 觀看人次: 568 強大的開源Llama 2到底如何為己用呢?本篇文章教你如何在本機安裝並使用Llama 2。網路上免費的工具確實可以滿足大部份日常工作需求,身為開發者,AI的強大可以廣泛應用在各個地方,於是腦中浮現了很多想法,想要動手串接自己的應用,開源的Llama 2完全可以做到任何客製化的大型模型語言應用。串接Open AI的API確實是很快的方式將應用組裝起來驗證想法,然而,當我們想要執行客製化內容時會有諸多限制,例如難以產生精準的業務內容,輸出的資料格式有著不確定性,token計價的串接費用過高等問題。本篇文章是一系列的文章之一,主要說明製作客製化大型模型語言的流程與觀念,期望能透過文章分享客製化Llama 2的過程。 目錄安裝Llama 2取得模型llama.cpp RepositoryStep 1 - Clone llama.cppStep 2 - BuildStep 3 - Install RequirmentsStep 4 - QuantizeStep 5 - Quantize the model to 4-bits (using Q4_K_M method)Step 6 - Run the quantized model softaverse 安裝Llama 2 我的裝置為MacBook Pro M2 16G,初期嘗試使用HuggingFace版本的「Llama2–7b-chat-hf」,想快速體驗在本機跑Llama 2,但作成中遇到瓶頸,用CPU跑模型生成內容非~常~緩~慢~,本以為是我的裝置不夠力,後來在Google colab的伺服器嘗試也得到一樣的結果,使用GPU加速才得以在10秒之內生成內容,於是我找了替代方案「llama.cpp」,後面詳細介紹使用方式。 取得模型 前往Llama 2官網點擊Download Model填寫表單,等待數分鐘取得授權後,Meta會寄一封帶有專屬連結信到你的Email信箱。 按照信件內的步驟下載Llama 2模型: 請注意:專屬連結效期只有24小時,且有下載次數限制。接著進入官方的llama repository,按照repo提供的下載步驟進行下載: 以llama-2-7b為例,下載完成後會得到「checklist.chk」、「consolidated.00.pth」、「params.json」等檔案,接著進行下一步。 llama.cpp Repository llama.cpp會將模型轉成純粹的C/C++,目的是為了用最小配置將LLM跑在各種硬體上,並且保持良好效能。 Step 1 - Clone llama.cpp git clone https://github.com/ggerganov/llama.cpp Step 2 - Build cd llama.cppmake Step 3 - Install Requirments python3 -m pip install -r requirements.txt Step 4 - Quantize # 事先從llama資料夾複製剛才下載好的模型及tokenizer.model到llama.cpp/models目錄下python3 convert.py models/<path_to_your_downloaded_llama-2-7b-chat_model> Step 5 - Quantize the model to 4-bits (using Q4_K_M method) ./quantize ./models/<path_to_your_downloaded_llama-2-7b-chat_model>/ggml-model-f32.gguf ./models/mymodel/ggml-model-Q4_K_M.gguf Q4_K_M Step 6 - Run the quantized model ./main -m ./models/<path_to_your_downloaded_llama-2-7b-chat_model>/ggml-model-Q4_K_M.gguf -n 128 看到模型自動吐出沒來由的文字就算大功告成了。 第一次成功在本機跑出自己的模型真的感到很開心,不用再依賴Open AI的API,雖然建置花了一點時間,但token數量可以隨心所欲不受限制的使用,不僅節省了開銷,並且可以做到更多客製化內容,下一篇文章來詳細介紹擁有自己的Llama 2可以有哪些玩法。本篇文章同步刊登於Medium – 強大的開源Llama 2到底如何為己用呢?本篇文章教你如何在本機安裝並使用Llama 2。 softaverse 喜歡運用科技工具提升工作效率、並自主開發實用小工具的長時間使用電腦工作者。對新科技工具深感興趣,樂於分享如何運用科技工具提升生活和工作效率的技巧。