近年來語言模型越來越被應用到實際環境上,使用模型還進行翻譯通常能獲得不錯的效果但對於大部分的模型目前都是透過雲端來運行通常對於串接翻譯器會產生額外的費用,為了防止這種狀況發生所以我們需要運行一個可以在本地電腦上運行的模型。
關於 SakuraLLM
基於一系列開源大模型構建,在通用日語料與輕小說/Galgame等領域的中日語料上進行繼續預訓練與調整,旨在提供接近GPT3.5且完全離線的Galgame/輕小說翻譯大語言的性能模型。
SakuraLLM 不允許被用在任何商用行為
模型下載
SakuraLLM : https://huggingface.co/SakuraLLM
進入專案頁後直接轉到下方『Models』選擇想要的模型專案,通常選擇比較多人使用的
選擇好喜歡的 .gguf格式模型
下載模型運行工具
接下來需要一個能用運行模型的工具
之前文章我是直接推薦用SakuraLLM作者打包的環境但使用起來不太方便
目前我推薦『Sakura_Launcher_GUI』配置起來更方便,測試在Win10和11下皆能簡單方便運行
Sakura_Launcher_GUI
手冊 : Sakura Launcher GUI 用户手册.md
下載: https://github.com/PiDanShouRouZhouXD/Sakura_Launcher_GUI/releases
下載好用把主程式和模型先放到一個資料夾方便後續使用
轉到『下載』由於前面已經下載好模型直接轉到『llama.cpp』
根據你的硬體選擇適合的版本等待下載好即可
點開高級設置可以修改port方便其他應用接入
完成llama.cpp下載後,回到主頁啟動我們的模型就可以了
搭配翻譯器測試調用效果
使用 LunaTranslator 最新版支持 SakuraLLM 整合
配置好LunaTranslator對應端口和模型
比方說我的llm運行在8080 Port,所以我api介面要設置成 127.0.0.1:8080
※由於模型可能存在0.9/1.0版本格式不同可能導致翻譯出錯
透過GPT4產生的翻譯例句測試,下方為SakuraLLM的翻譯效果
GalTransl-7B-v3 對於基本對話處理很不錯了非常口語化
Sakura模型更多說明
Sakura模型的名字是什麼意思?
此段說明參考至→ https://books.fishhawk.top/forum/656d60530286f15e3384fcf8
以sakura-14b-qwen2beta-v0.9-iq4_xs_ver2.gguf
為例。
- 14b表示模型的參數數量,也就是模型的規模,其中b表示billion。目前有1.4b、7b、14b、32b等多個檔位。參數數量越大,模型大小越大,所需的顯存越大,速度越慢,理論上AI能力更強。
- qwen2beta表示模型所使用的底模,也就是模型是基於哪個模型訓練的。
- v0.9表示模型的訓練方法的版本號,基本上可以視為sakura的版本號。
- iq4_xs表示是4bit量化,不同字母代表了不同的量化演算法。量化是以一定的性能下降為代價,減少模型的尺寸的方法。量化越高,模型越接近完全體,大小越大,所需的顯存越大,速度越慢,理論上AI能力更強。
- ver2表示額外的標註,視情況有很多種。
無GPU能夠運行嗎?
照說明是可以的但須要自己透過 llama.cpp 來產生dll
暫時沒時間撰寫教學,以後有時間再補充
https://github.com/ggerganov/llama.cpp 有提供一些預產的dll(不過我運行失敗)
能否超載運行如32B模型?
如果GPU RAM不夠,我自己測試下也能用一般RAM運行並產出,只是速度真的就慢很多
至於如果連一般RAM都不夠那就不太可能了
不過32B對比如7B翻譯效果不一定會比較好,只是文本量比較多,一般推薦用7B就可以覆蓋所有日常及娛樂對話
無法判斷人名或錯亂?
0.9版本不支持術語表,1.0後可以透過術語表定義(但仍是測試階段也須自己研究)
像我本身搭配用 manga-image-translator 翻譯漫畫可以在 sakura_dict.txt 中定義如下
總結
本篇文章算是自己的紀錄心得,可能部分地方寫的不是那麼專業或是正確,如果有重大錯誤地方歡迎留言指證
- 2025/4/14由官方工具改為推薦Sakura_Launcher_GUI
感謝教學已經成功運行,淺顯易懂
想請問一下 版本的部分 GalTransl-7B-v2-Q6_K.gguf的版本 –model_version的部分要填甚麼才對 填過 v2 2.0 v1 v1.0 1.0 或是空白 都無法成功
0.9
出現這個請問該如何解決
1.cmd用管理員執行看看
2.檢查防火牆是否阻擋(或是直接關閉)
3.檢查5000端口是否被占用,cmd使用如 netstat -ano 指令查看
關閉防火牆後可以使用了 感謝