国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

大語(yǔ)言模型部署:基于llama.cpp在Ubuntu 22.04及CUDA環(huán)境中部署Llama-2 7B

這篇具有很好參考價(jià)值的文章主要介紹了大語(yǔ)言模型部署:基于llama.cpp在Ubuntu 22.04及CUDA環(huán)境中部署Llama-2 7B。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

llama.cpp是近期非常流行的一款專注于Llama/Llama-2部署的C/C++工具。本文利用llama.cpp來部署Llama 2 7B大語(yǔ)言模型,所采用的環(huán)境為Ubuntu 22.04及NVIDIA CUDA。文中假設(shè)Linux的用戶目錄(一般為/home/username)為當(dāng)前目錄。

安裝NVIDIA CUDA工具

NVIDIA官方已經(jīng)提供在Ubuntu 22.04中安裝CUDA的官方文檔。本文稍有不同的是我們安裝的是CUDA 11.8而不是最新的CUDA版本。這是因?yàn)槟壳癙yTorch 2.0的穩(wěn)定版還是基于CUDA 11.8的,而在實(shí)際各種部署中筆者發(fā)現(xiàn)按照PyTorch 2.0穩(wěn)定版來錨定CUDA版本能夠避免很多麻煩。當(dāng)然了,對(duì)于llama.cpp本身來說這并不重要,因此讀者可以隨意選擇適合的CUDA版本。

$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
$ sudo dpkg -i cuda-keyring_1.1-1_all.deb
$ sudo apt update
$ sudo apt install cuda-11-8

安裝完NVIDIA CUDA(其實(shí)是NVIDIA GPU驅(qū)動(dòng))之后應(yīng)該重啟系統(tǒng)一次,這樣可以使得Linux內(nèi)核能夠正常編譯并加載基于dkms的內(nèi)核驅(qū)動(dòng)模塊。這里建議重啟完之后運(yùn)行一次nvidia-smi來確信系統(tǒng)中的顯卡能夠被NVIDIA驅(qū)動(dòng)所識(shí)別。

$ sudo shutdown -r now

復(fù)制和編譯llama.cpp代碼源

在Ubuntu 22.04中,安裝NVIDIA CUDA工具剛好會(huì)把llama.cpp所需的工具也全部安裝好。因此,我們只要復(fù)制代碼源并編譯即可

$ git clone https://github.com/ggerganov/llama.cpp
$ cd llama.cpp
$ make LLAMA_CUBLAS=1 LLAMA_CUDA_NVCC=/usr/local/cuda/bin/nvcc

安裝NVIDIA CUDA工具并不會(huì)把nvcc(CUDA編譯器)添加到系統(tǒng)的執(zhí)行PATH中,因此這里我們需要LLAMA_CUDA_NVCC變量來給出nvcc的位置。llama.cpp編譯完成后會(huì)生成一系列可執(zhí)行文件(如main和perplexity程序)。為了簡(jiǎn)化內(nèi)容,本文使用的是llama.cpp的make編譯流程,有興趣的讀者可以參考llama.cpp的文檔來使用cmake進(jìn)行編譯。

下載并運(yùn)行Llama-2 7B模型

正常情況下,下載Llama系列模型應(yīng)該參考Meta公司的模型申請(qǐng)頁(yè)面。為節(jié)省時(shí)間,本文使用HuggingFace社區(qū)用戶TheBloke發(fā)布的已進(jìn)行格式轉(zhuǎn)換并量化的模型。這些預(yù)量化的模型可以從HuggingFace的社區(qū)模型發(fā)布頁(yè)中找到。在這個(gè)社區(qū)模型名稱中,GGUF指的是2023年八月llama.cpp新開發(fā)的一種模型文件格式。

下載模型需要首先安裝并初始化git-lfs(GIt Large File Storage)。

$ sudo apt install git-lfs
$ git lfs install

上面的命令運(yùn)行完畢后,終端窗口里面應(yīng)該顯示“Git LFS initialized.”,現(xiàn)在我們就可以復(fù)制模型源了。因?yàn)檫@些模型文件非常大,此處我們暫時(shí)只復(fù)制文件的鏈接,不下載文件本身。

$ GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/TheBloke/Llama-2-7B-GGUF

我們只需要這個(gè)模型源中的其中一個(gè)文件,即llama-2-7b.Q4_0.gguf,表示的是一種4比特量化預(yù)處理的Llama 2 7B模型。有興趣的讀者還可以按照本文的方法嘗試一些其他的模型文件。

$ cd Llama-2-7B-GGUF
$ git lfs pull --include llama-2-7b.Q4_0.gguf

在預(yù)量化的模型文件下載完成后,就可以運(yùn)行l(wèi)lama.cpp中編譯完成的各種程序了。此處我們運(yùn)行一下在終端中的交互式的文本生成過程。

$ cd ~/llama.cpp
$ ./main -m ~/Llama-2-7B-GGUF/llama-2-7b.Q4_0.gguf --color \
    --ctx_size 2048 -n -1 -ins -b 256 --top_k 10000 \
    --temp 0.2 --repeat_penalty 1.1 -t 8 -ngl 10000

在上面的命令行中,最后的參數(shù)“-gnl 10000”指的是將最多10000個(gè)模型層放到GPU上運(yùn)行,其余的在CPU上,因此llama.cpp本身就具有異構(gòu)運(yùn)行模型的能力。不過此處Llama 2 7B模型的總層數(shù)都不足10000,因此模型全部都會(huì)在GPU上面運(yùn)行。大家可以按照屏幕上此時(shí)的說明來試試這個(gè)模型的交互能力。

部署Llama-2 7B模型

剛才提到,llama.cpp編譯生成了許多有用的程序。其中,main是用于在終端窗口中顯示文本生成的工具,perplexity用來對(duì)給定數(shù)據(jù)集計(jì)算困惑度以對(duì)模型進(jìn)行測(cè)評(píng),而server程序則可以部署一個(gè)簡(jiǎn)易的HTTP API。

$ ./server -m ~/Llama-2-7B-GGUF/llama-2-7b.Q4_0.gguf \
    -c 2048 -ngl 10000 --host localhost --port 8080

這樣,我們就可以通過訪問http://localhost:8080/completion來得到模型生成的結(jié)果了。這里可以用curl嘗試一下

$ curl --request POST \
    --url http://localhost:8080/completion \
    --header "Content-Type: application/json" \
    --data '{"prompt": "Building a website can be done in 10 simple steps:","n_predict": 128}'

llama.cpp代碼源中有server程序的更多文檔。本文的步驟也適用于除llama 2 7B外其他與llama.cpp兼容的模型。文章來源地址http://www.zghlxwxcb.cn/news/detail-735895.html

到了這里,關(guān)于大語(yǔ)言模型部署:基于llama.cpp在Ubuntu 22.04及CUDA環(huán)境中部署Llama-2 7B的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Ubuntu22.04部署K8s集群

    Ubuntu22.04部署K8s集群

    你好! 本文實(shí)驗(yàn)在 Windows11 安裝的 VMware Workstation Pro 17.0 上,建立3臺(tái)帶 Ubuntu22.04 操作系統(tǒng)的虛擬機(jī)( master-100, k8s_worker1, k8s_worker2 )為環(huán)境。 官網(wǎng)下載: https://www.vmware.com/cn/products/workstation-pro.html 有30天免費(fèi)試用、度娘或者 一鍵三連+評(píng)論 我給你發(fā)許可證 https://ubuntu.com/down

    2024年02月15日
    瀏覽(18)
  • Ubuntu22.04安裝phpMyAdmin(基于MariaDB)

    Ubuntu22.04安裝phpMyAdmin(基于MariaDB)

    訪問命令行并使用 apt 包管理器更新 Ubuntu 包存儲(chǔ)庫(kù)和已安裝的包: sudo apt update sudo apt upgrade -y 1.運(yùn)行以下命令以安裝 phpMyAdmin 及其依賴項(xiàng): sudo apt install phpmyadmin -y 等待安裝完成 2.安裝程序會(huì)提示您選擇要自動(dòng)配置的 Web 服務(wù)器。如果系統(tǒng)使用 Apache,則 apache2 選項(xiàng)已突出顯示

    2024年02月03日
    瀏覽(16)
  • Ubuntu22.04部署K8S1.27.2版本集群

    Ubuntu22.04部署K8S1.27.2版本集群

    一、設(shè)置主機(jī)名并在 hosts 文件中添加條目 1、登錄節(jié)點(diǎn)使用 hostnamectl 命令設(shè)置 hostname #在master中:????? 172.18.10.11 $ sudo hostnamectl set-hostname \\\"k8s-master\\\" #在work1節(jié)點(diǎn)中:? 172.18.10.12 $ sudo hostnamectl set-hostname \\\"k8s-worker1\\\" #在work2節(jié)點(diǎn)中:? 172.18.10.13 $ sudo hostnamectl set-hostname \\\"k8s-worke

    2024年02月09日
    瀏覽(25)
  • 【mysql部署】在ubuntu22.04上安裝和配置mysql教程

    【mysql部署】在ubuntu22.04上安裝和配置mysql教程

    1. 更新軟件包列表: 2.安裝 MySQL 服務(wù)器: 3.設(shè)置 MySQL 安全性: 按照提示輸入相關(guān)問題的回答,例如刪除匿名用戶、禁止 root 遠(yuǎn)程登錄等。 這里建議直接輸入 y 。 這里根據(jù)自己要設(shè)置的密碼強(qiáng)度自行選擇,這里我選擇輸入 0 。 后面還有幾個(gè)選項(xiàng),默認(rèn)輸入 y 就行。 4.啟動(dòng) M

    2024年03月27日
    瀏覽(24)
  • 基于 RK3588 構(gòu)建 Ubuntu 22.04 根文件系統(tǒng)

    基于 RK3588 構(gòu)建 Ubuntu 22.04 根文件系統(tǒng)

    以下內(nèi)容在 Rockchip 的 Linux SDK 目錄下完成,請(qǐng)先解壓 Linux SDK。 1.1 下載 Ubuntu Base Ubuntu-Base 是Ubuntu官方構(gòu)建的ubuntu最小文件系統(tǒng),基礎(chǔ)包大小通常只有幾十兆,可以很方便的個(gè)性化定制嵌入式環(huán)境。使用北京外國(guó)語(yǔ)大學(xué)鏡像站加速下載,注意選擇根據(jù)開發(fā)板架構(gòu)選擇arm64或其他

    2024年02月13日
    瀏覽(105)
  • 為 Ubuntu22.04 系統(tǒng)添加中文輸入法并設(shè)置界面語(yǔ)言為中文

    為 Ubuntu22.04 系統(tǒng)添加中文輸入法并設(shè)置界面語(yǔ)言為中文

    為 Ubuntu22.04 系統(tǒng)添加中文輸入法 請(qǐng)移步原鏈接查看 2、單擊桌面右上角圖標(biāo),點(diǎn)擊 Settings,在彈出的窗口中,點(diǎn)擊 Region Language,然后點(diǎn)擊 Manage Installed Languages 3、或者通過這種方式打開,打開 Show Applications,找到 Language Support 并打開, 4、如果第一次點(diǎn)擊的話,應(yīng)該會(huì)彈出如

    2024年04月14日
    瀏覽(30)
  • 【Matter】基于Ubuntu 22.04 編譯chip-tool工具

    【Matter】基于Ubuntu 22.04 編譯chip-tool工具

    編譯過程有點(diǎn)曲折,做下記錄,過程中,有參考別人寫的博客,也看github 官方介紹,終于跑通了~ 環(huán)境說明: 首先需要穩(wěn)定的梯子,可以訪問“外網(wǎng)” ubuntu 環(huán)境,最終成功實(shí)驗(yàn)在Ubuntu 22.04,應(yīng)該主要體現(xiàn)在python 庫(kù)的版本要求 基礎(chǔ): 關(guān)于梯子,我使用的是虛擬機(jī)NAT方式上網(wǎng)

    2024年02月15日
    瀏覽(47)
  • 【ubuntu 22.04】安裝中文版系統(tǒng)、中文語(yǔ)言包和中文輸入法

    【ubuntu 22.04】安裝中文版系統(tǒng)、中文語(yǔ)言包和中文輸入法

    在系統(tǒng)安裝中的鍵盤布局選擇時(shí),選擇Chinese - Chinese,此時(shí)會(huì)自動(dòng)安裝所有的中文語(yǔ)言包和ibus中文輸入法 系統(tǒng)安裝成功重啟后,點(diǎn)擊設(shè)置 - 區(qū)域和語(yǔ)言 - 管理已安裝的語(yǔ)言 * 根據(jù)提示安裝更新后,將漢語(yǔ)(中國(guó))置頂,并點(diǎn)擊應(yīng)用到整個(gè)系統(tǒng),重啟執(zhí)行操作,建議保留英文的

    2024年02月21日
    瀏覽(27)
  • 基于Ubuntu22.04的Samba服務(wù)器搭建教程(新手保姆級(jí)教程)

    基于Ubuntu22.04的Samba服務(wù)器搭建教程(新手保姆級(jí)教程)

    Samba 是在 Linux 和 UNIX 系統(tǒng)上實(shí)現(xiàn)SMB 協(xié)議的一個(gè)免費(fèi)軟件,由服務(wù)器及客戶端程序構(gòu)成。SMB(Server Messages Block,信息服務(wù)塊)是一種在局域網(wǎng)上共享文件和打印機(jī)的一種通信協(xié)議,它為局域網(wǎng)內(nèi)的不同計(jì)算機(jī)之間提供文件及打印機(jī)等資源的共享服務(wù)。SMB協(xié)議是客戶機(jī)/服務(wù)器型

    2024年04月08日
    瀏覽(31)
  • Ubuntu 22.04LTS安裝VNC Server 并配置基于ssh的加密連接

    1.安裝tiger vnc server 使用下面的 apt 命令安裝 TigerVNC 服務(wù)器軟件包。 輸入? Y ?進(jìn)行確認(rèn),然后按 回車 鍵繼續(xù)安裝。現(xiàn)在安裝將開始。? 2.初始化 VNC 服務(wù)器 切換到需要使用的用戶 cd username ?使用以下命令初始化 VNC 服務(wù)器配置。命令行 vncserver 可用于管理 VNC 服務(wù)器配置,包括

    2024年02月16日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包