天天看點

在你的電腦上運作最強開源AI大模型Llama3,史上最全方法詳解

作者:開山怪阿土

Meta 推出其最新一代開源大型語言模型 Llama 3,它再一次成為開源模型界的領頭羊駝。我前面的文章已經介紹過Llama 3 了,今天主要講怎麼在家用電腦上部署Llama 3 ,不需要聯網來運作自己的私有AI模型。

Meta的新一代開源模型Llama3驚豔登場

Llama 3目前提供 8B 和 70B 兩種大小參數,經過預訓練或微調的多種配置模型。預訓練是基礎模型,友善開發者後續開發自己的微調模型。我們本地部署主要下載下傳8B參數的微調模型,隻要8G以上顯示卡就可以了,70B參數一般需要專業顯示卡,例如A100,40G顯示卡。

下面是如何在本地運作模型的詳細指南。

選項1:Python部署

這個适合電腦已經部署有Python的Conda環境下的直接安裝 Llama 3。

在github.com/meta-llama/llama3 下載下傳Llama 3壓縮包

在你的電腦上運作最強開源AI大模型Llama3,史上最全方法詳解

解壓到C槽

然後到llama.meta.com/llama-downloads 申請許可和模型下載下傳連結。填一下姓名,生日,國籍,公司,郵箱。不需要實名,随便填一下,勾選Meta Llama 3,點選下方continue,确認許可,會傳回一個下載下傳連結,這個連結并不能直接下載下傳,隻能在終端指令行下載下傳。

在你的電腦上運作最強開源AI大模型Llama3,史上最全方法詳解

進入剛剛解壓的\llama3-main檔案夾裡,檔案夾欄輸入“CMD”,在指令行輸入“pip install -e”安裝環境。如果報錯,可能需要在pip install -e 後面加上你的llama3的檔案夾位址,例如“pip install -e :\llama3-main”。

等它自動下載下傳安裝好環境後,右鍵選擇“bash here”進入conda指令行,輸入“bash download.sh”,如果指令行報錯,出現“Enter the URL from email:”後粘貼剛才獲得的下載下傳連結,然後會讓你選擇要下載下傳的模型,有4個模型,分别是8B(預訓練模型),8B-instruct(微調模型),70B,70B-instruct,我們選第二個,輸入“8B-instruct”後回車,會自動下載下傳模型。

(有可能會報錯缺失weget指令,在eternallybored.org/misc/wget/ 下載下傳weget.exe檔案放到C:\Windows\System32 裡就好了)

在你的電腦上運作最強開源AI大模型Llama3,史上最全方法詳解

下載下傳好模型後,在指令行運作示例腳步,執行以下指令:

torchrun --nproc_per_node 1 example_chat_completion.py \

--ckpt_dir Meta-Llama-3-8B-Instruct/ \

--tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model \

--max_seq_len 512 --max_batch_size 6

建立對話腳本,在根目錄下建立以下chat.py腳本

# Copyright (c) Meta Platforms, Inc. and affiliates.

# This software may be used and distributed in accordance with the terms of the Llama 3 Community License Agreement.

from typing import List, Optional

import fire

from llama import Dialog, Llama

def main(

ckpt_dir: str,

tokenizer_path: str,

temperature: float = 0.6,

top_p: float = 0.9,

max_seq_len: int = 512,

max_batch_size: int = 4,

max_gen_len: Optional[int] = None,

):

"""

Examples to run with the models finetuned for chat. Prompts correspond of chat

turns between the user and assistant with the final one always being the user.

An optional system prompt at the beginning to control how the model should respond

is also supported.

The context window of llama3 models is 8192 tokens, so `max_seq_len` needs to be <= 8192.

`max_gen_len` is optional because finetuned models are able to stop generations naturally.

"""

generator = Llama.build(

ckpt_dir=ckpt_dir,

tokenizer_path=tokenizer_path,

max_seq_len=max_seq_len,

max_batch_size=max_batch_size,

)

# Modify the dialogs list to only include user inputs

dialogs: List[Dialog] = [

[{"role": "user", "content": ""}], # Initialize with an empty user input

]

# Start the conversation loop

while True:

# Get user input

user_input = input("You: ")

# Exit loop if user inputs 'exit'

if user_input.lower() == 'exit':

break

# Append user input to the dialogs list

dialogs[0][0]["content"] = user_input

# Use the generator to get model response

result = generator.chat_completion(

dialogs,

max_gen_len=max_gen_len,

temperature=temperature,

top_p=top_p,

)[0]

# Print model response

print(f"Model: {result['generation']['content']}")

if __name__ == "__main__":

fire.Fire(main)

運作以下指令就可以開始對話了:

torchrun --nproc_per_node 1 chat.py

--ckpt_dir Meta-Llama-3-8B-Instruct/

--tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model

--max_seq_len 512

--max_batch_size 6

選項 2:使用 Ollama + Open Webui

支援的平台: MacOS、Ubuntu、Windows(預覽版)

在你的電腦上運作最強開源AI大模型Llama3,史上最全方法詳解

Ollama 是目前在本地部署AI大語言模型最常用的方法之一。隻需在此處下載下傳應用程式,點選檔案自動安裝,然後在指令行中運作以下指令。

ollama run llama3

這将下載下傳 Llama 3 8B 指令(微調)模型。

您可以選擇提供标簽,但如果不這樣做,它将預設為最新的。該标簽用于辨別特定版本。例如你可以運作:

ollama run llama3:70b-text

ollama run llama3:70b-instruct

下載下傳好模型後,再次在指令行運作 ollama run llama3 ,就可以直接跟 llama3 對話了,當然這種方式很不直覺,能不能儲存曆史對話。

在你的電腦上運作最強開源AI大模型Llama3,史上最全方法詳解

如果您想要一個類似于OpenAI的ChatGPT那樣的對話視窗,就需要安裝Open WebUI項目了。而安裝Open Webui 需要先安裝docker。

在github.com/open-webui/open-webui 或者 www.docker.com/products/docker-desktop/ 下載下傳docker。下載下傳安裝後在指令行輸入以下指令安裝Open Webui。

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

完成後打開浏覽器,您可以通過http://localhost:3000通路 Open WebUI 。

在你的電腦上運作最強開源AI大模型Llama3,史上最全方法詳解

選項 3:使用 LM Studio

前面我已講過LM Studio的安裝使用。

使用LM Studio一鍵部署本地AI大語言模型

需要更新到0.2.20版

在你的電腦上運作最強開源AI大模型Llama3,史上最全方法詳解

然後搜尋“lmstudio llama 3”,下載下傳好模型就可以使用了。注意8B-instruct 有14個模型選擇,推薦選擇 Meta-Llama-3-8B-Instruct.Q5_K_M.gguf,電腦較好的也可以選擇最大8G多的那個模型。

選項 4:Jan.ai

這是我目前使用過的最簡單,最友善的,本地部署AI大模型的開源軟體。

隻需要在Jan.ai下載下傳相應版本軟體,點選檔案會自動安裝。

在你的電腦上運作最強開源AI大模型Llama3,史上最全方法詳解

然後去抱抱臉下載下傳 llama 3 模型。沒有魔法網絡的推薦國内鏡像網站下載下傳 hf-mirror.com/QuantFactory/Meta-Llama-3-8B-Instruct-GGUF/tree/main。

模型越大需要的電腦組態越高,根據自己電腦情況酌情下載下傳。将下載下傳好的模型放到C:\Users\xxx\jan\models 目錄下(xxx是你自己電腦的使用者名)。然後點開Jan就可以直接跟AI聊天了。

選項 5:GPT4All

GPT4ALL也是一個很友善本地部署AI模型的一個工具,隻有安裝檔案,然後下載下傳模型就可以運作了,唯一的缺點是全英文界面。

隻需在此處下載下傳模型,就可以對話了。或者選擇右上角的設定,改變模型位址,将前面下載下傳的模型放到設定的檔案夾中。

在你的電腦上運作最強開源AI大模型Llama3,史上最全方法詳解

Llama特别喜歡用表情符号。

在你的電腦上運作最強開源AI大模型Llama3,史上最全方法詳解

以上就是目前比較常用的幾種本地部署AI大語言模型的方法了,新手建議選擇最後兩種,簡單快捷。以上所有檔案我都放在網盤,需要的朋友背景回複“llama3”免費領取。

繼續閱讀