[閒聊] 關於異世界悠閒農家文翻譯器的研究實作
-Introduction-
因為最近離職放暑假中, 所以有閒有心情進行以前有規劃但是一直沒實行的計畫, 也就是AI輔助異世界悠閒農家翻譯。
一直以來我都只採取了基本的專有名詞取代後就開始翻,例如
余談になるが、ミノタウロス族、巨人族は褒賞メダルの大半をバスケットボール関連の物につぎ込んだ。
> 余談になるが、<NAME_牛人族>、巨人族は褒賞メダルの大半をバスケットボール関連の物につぎ込んだ。
好處是三個字以上名詞基本上不會搞錯,壞處是兩個字以下的名詞一下子就會搞錯,例如いろいろなフルーツを使ったフルーツミックスサンドが好きな子もいる。
> いろいろなフ<NAME_露>ツを使ったフ<NAME_露>ツミックスサンドが好きな子もいる。
雖然可以用字典順序盡量排除上述狀況,但例外總是會一直出現,這點只能人工後修正。
目前(2025年)一些容易翻譯的短語句只要丟上瀏覽器的搜尋列就會自動幫忙翻譯完成,所以我就想著使用模型訓練一個專用的翻譯器,只要能節省一些打字時間那都能有效率的提升翻譯速度。
最初做的嘗試其實是在大概2020年的時候,當時我曾經試圖使用LSTM來進行訓練,但因為也缺乏相關經驗所以沒有取得任何有效的成果。最近一年當GPT的能力顯著提升之後,開始利用GPT教學來評估現階段自我開發翻譯器的可行性。
經過一些測試得到的結論是,使用目前公開的多語言翻譯模型加上自己的文本微調訓練應該能得到想要的結果,因此就開始了翻譯器的開發(代號: 自動耕耘人Autofarmer)。
related work
經過GPT諮詢,推薦方案是:使用大模型的線上API翻譯(附加語境指引)或是自己訓練模型。前者因不符合目標故暫不考慮。
實測,目前沒有公開有效的日-中翻譯模型可以使用。嘗試過一些組合後,選用了NLLB的多語系翻譯模型,環境是python的HuggingFace Transformers。
摘自GPT介紹
HuggingFace Transformers 是一個 Python 套件(Library),提供了:數百種 NLP 模型(翻譯、問答、摘要、生成等等)模型的下載、載入、訓練、推理工具,具統一介面的模型呼叫方式(如:AutoModelForSeq2SeqLM, AutoTokenizer)。
NLLB(No Language Left Behind)是 Meta AI(臉書) 發布的多語翻譯模型。它支援200 多種語言的雙向翻譯。
training of Autofarmer
硬體使用自己目前的RTX 3070,VRAM=8G剛好可以訓練NLLB-600M, LoRA 8-bit版本。
訓練文本是從版上記錄下的農家文,配合前述"專有名詞取代工具"合併之後做成的符合
HuggingFace規格jsonl格式的訓練文本。
內容範例:
{"translation": {"ja": "ジャック後編", "zh": "傑克 後篇"}}
{"translation": {"ja": "革製の鎧だって立派な物だ。", "zh": "皮製的鎧甲也是高檔貨。"}}
因為是使用工具+人工調整行對應,所以內含了部分翻譯錯誤、漏誤字等情況。
總共使用過:
A:25回,3509句(170/171~175+342/343+431~468回)
B:56回,8480句(...+471~501回)
C:153回,22471句(...+502~600回)
D:202回,28992句(...+601~650回)
農家每回扣除空行,每次文本大約100出頭行。少的有8~90,多的有150以上。
長短句落差很大,如經常出現的哈哈哈,原來如此等,到三個逗點以上的長句都有。
經過多次測試,NLLB-600M在訓練文本C/D時期時loss已經無法顯著下降。(epoch前三者3,文本D為5)
初始loss都在13-12之間,文本A的最終loss落在7.3左右,文本B為7.2,文本C為7.0,文本D為7.0。
雖然文本C/D的訓練中loss沒有明顯差異,但我使用的測試文本某些語句則有可體感的進步。
【原文】魔王国の王都に用意されたオークション会場に、俺は足を運んだ。
Autofarmer_nllb_lora_3509 :魔國王都預備的拍賣場,我就走了。
Autofarmer_nllb_lora_8480 :魔王國王都準備的拍賣場,我走了。
Autofarmer_nllb_lora_22471:在魔王國王都準備的拍賣場,我走了。
Autofarmer_nllb_lora_28992:我走到魔王國王都準備的拍賣場。
然而很可惜,NLLB-600M在經過更多測試後發現依然難以達到實用化的地步。
除了語境離我翻譯目標尚遠之外,語意容易搞錯,拿來參考會更增加翻譯困難度。尤其是用否定表達肯定的反語。
【原文】転移門の渋滞を緩和する目的のためにも、使ってもらえる道を作らないとな。Autofarmer_nllb_lora_3509 :也是為了緩解轉移門的交通堵塞,不必為他們打造通道。Autofarmer_nllb_lora_8480 :也是為了緩解轉移門的交通阻礙,不必為他們打造一條通道。
Autofarmer_nllb_lora_22471:為了緩解轉移門的交通堵塞目的,也不要為他們打造通道。
Autofarmer_nllb_lora_28992:為了緩解轉移門的交通堵塞目的,也不要打造可以使用的道路。
模型完全沒抓到他是一種肯定的語氣(一定要建造能使用的道路)
以上結果讓我決定放棄600M,這次將目標改向更大型的NLLB-1.3B模型。
經過評估NLLB-1.3B在本機(RTX 3070 VRAM=8G)的狀況下可以進行推論,但遠遠不夠訓練。
訓練NLLB-1.3B, 本機訓練只有4-bit選項有可能,但我多次嘗試後在本機總是無法訓練
4-bit版本成功。
最後的方案就是使用雲端Server。這次買的是runpod.io的A100-PCIe 80GVRAM版本,每小時1.67鎂。
文本D在該平台上訓練一個epoch總共花費兩個半小時,也就是5USD。
最終成果如下
【原文】転移門の渋滞を緩和する目的のためにも、使ってもらえる道を作らないとな。Autofarmer_nllb_lora_28992:為了緩解轉移門的交通堵塞目的,也不要打造可以使用的道路。
Autofarmer_1.3B_lora_28992:為了緩緩轉移門的塞車,也得做好可使用的道路。
可見得1.3B基本上能抓出正確的反語語氣。
再看到其他一些句子
【原文】無駄使いはできないが、役に立つならしっかりと落札するぞ。
Autofarmer_nllb_lora_3509 :不能浪費,但如果有幫助,就能堅定落札。
Autofarmer_nllb_lora_8480 :不能浪費,但如果有幫助的話,會堅定落札。
Autofarmer_nllb_lora_22471:雖然不用浪費,但如果有幫助的話,會堅定落札。
Autofarmer_nllb_lora_28992:雖然不用浪費,不過如果有幫助的話就把它起吧。
Autofarmer_1.3B_lora_28992:雖然不能浪費,不過要是有用的話會好好拍賣。
【原文】<NAME_普拉達>の個人的な趣味嗜好で求めている物が大半だが、俺に有益なので薦めている物もあるそうだ。
Autofarmer_nllb_lora_3509 :普拉達的私人趣味和嗜好大多是想要的,但也許是我推薦的,因為對我有好處。
Autofarmer_nllb_lora_8480 :普拉達的私人趣味和喜歡的東西很大程度上是要的,但也有一些我推薦的東西,因為對我有益。
Autofarmer_nllb_lora_22471:普拉達的私人趣味和嗜好所追求的東西很大,但也有一些是為我有益而推薦的。
Autofarmer_nllb_lora_28992:普拉達的私人趣味和嗜好所尋求的東西大多,不過也有一些是為我有益而推薦的。
Autofarmer_1.3B_lora_28992:雖然大部分是普拉達個人興趣喜好所追求的東西,不過也有對我有益的推薦的東西。
【原文】と、各地の貴族や商人から頼まれ、出品物を預かることが多々あるらしい。
Autofarmer_nllb_lora_3509 :各地貴族和商人要求,往往會預備商品。
Autofarmer_nllb_lora_8480 :各地貴族和商人的要求,往往會預備出貨。
Autofarmer_nllb_lora_22471:據說各地貴族和商人的要求,往往會預備出貨物。
Autofarmer_nllb_lora_28992:似乎有很多地方的貴族和商人要求預備出品。
Autofarmer_1.3B_lora_28992:,似乎是各處貴族和商人請到,會準備的東西很多。
【原文】ちなみに、五村新道の<NAME_路線>が最近まで決まっていなかった理由は道を作るのが難しい場所で、迂回か強行かで迷っていたからだ。
Autofarmer_nllb_lora_3509 :五村新道的路線直到最近未確定的原因是路在難度的地點上迷路,回或強行。
Autofarmer_nllb_lora_8480 :五村新道路線直到最近還沒有確定的原因是路建在很難的地點,迷迷在回轉或強行。
Autofarmer_nllb_lora_22471:另外,五村新道路線直到最近還沒有決定的原因是在難以打造的道路的地方,迷路或強行而迷路。
Autofarmer_nllb_lora_28992:順便說,五村新道路線直到最近還未確定的原因是在難以打造的道路的地方迷路在轉或強行中。
Autofarmer_1.3B_lora_28992:附帶一提,五村新路的路線直到最近才確定的原因是因為在很難開路的地方,因為要或是強行所以迷路。
【原文】五村新道が完成しても、それなりの距離になるので通行中は一泊か二泊することになる。
Autofarmer_nllb_lora_3509 :即使五村新路完成,也會有足夠的距離,所以在通行中一泊或二泊。
Autofarmer_nllb_lora_8480 :即使五村新道完成,也會有相當的距離,所以在通行期間一泊或兩泊。
Autofarmer_nllb_lora_22471:即使完成五村新道,也會有相當的距離,所以在通行期間一泊或兩泊。
Autofarmer_nllb_lora_28992:即使完成五村新道,也會有足夠的距離,所以在通行期間一泊或兩泊。
Autofarmer_1.3B_lora_28992:(翻譯失敗)
【原文】商隊が各地をまわるのは、オークションにこういった物が出品されますよと、参加者を集めるためだからな。
Autofarmer_nllb_lora_3509 :商隊在各處覽,拍賣會上會拿出這樣的東西,是因為要聚集參加者。
Autofarmer_nllb_lora_8480 :商隊在各處都是為了招募參加者來拍賣這些東西的。
Autofarmer_nllb_lora_22471:商隊在各處都是為了招募參加者來拍賣這些東西的。
Autofarmer_nllb_lora_28992:商隊在各處的目的是為了招募參加者來拍賣這些東西。
Autofarmer_1.3B_lora_28992:商隊到各地是為了在拍賣會上賣出這種東西,是為了招集參加者。
【原文】もともと、出品物は商隊を組んで各地をまわる前に決まっている。
Autofarmer_nllb_lora_3509 :原來,貨物在組織商隊並往各處前決定。
Autofarmer_nllb_lora_8480 :原來,貨品在組織商隊到各處前決定。
Autofarmer_nllb_lora_22471:原來,出貨在組織商隊在周圍前決定。
Autofarmer_nllb_lora_28992:原來,出貨是在組織商隊並周圍之前決定。
Autofarmer_1.3B_lora_28992:原先是要商隊組成各地方前決定出品。
Summary
基於此觀察,目前有以下幾點推論:
1. NLLB-1.3B在長語句,反語方面較600M有相當大的提升,看起來有實用可能性。
2. NLLB-1.3B目前測試版本只訓練了一個epoch,目前無法翻譯的句子較600M版本更多。正在進行微調與增加訓練、精煉文本等工作。最終版本應該就會使用雲端訓練的1.3B與本地端RTX3070推測(LoRA-8bit)版本。
3. 短語句方面小模型就能相當符合需求,可以適當節省翻譯成本。
例如:
【原文】トラブルじゃなくてよかった。
Autofarmer_nllb_lora_3509 :很好不是麻煩。
Autofarmer_nllb_lora_8480 :很好不是麻煩。
Autofarmer_nllb_lora_22471:還好沒有麻煩。
Autofarmer_nllb_lora_28992:還好不是麻煩。
Autofarmer_1.3B_lora_28992:幸好沒麻煩。
在這個例子中nllb_lora_28992(即600M版本)是首選。
但我個人最終會選擇"幸好不是麻煩"作為翻譯輸出。
4. 目前是以單句作為訓練材料,農家文的一定要上下文連貫才能做好翻譯的情況相較一般小說文體較少,這是目前使用NLLB作單句翻譯的少數優勢。
Conclusion
最後,因為自動耕耘人Autofarmer最初目的是協助簡化翻譯工作:如果有一些簡單語句可以省下打字的時間那就算賺到。另一方面,如果語意判斷的夠準確,也可以做一些基本的糾錯:例如,與腦中所想的語意不同時,就有可能是翻譯錯誤點。
在一些文法較複雜或是一眼不能確定語意的狀況,還是上網查&詢問GPT較有可行性。
結論:要使用自訓練的翻譯器完全取代農家文的翻譯工作確實有其困難,但節省一些時間降低工作量是可以做到(已經做到)的。畢竟使用GPT或其他大模型AI來製作翻譯的成本高,依然也還需要人工校正語意、語氣等。
--
厲害,先推一個,這樣一些專門書籍的翻譯感覺工作量可
以降低很多
推
推推訓練經歷說明
期待有一天會成為原po的萬能農具
推 謝謝一直以來的更新
推, AI農具要出來了
推
感謝長久以來的耕新
m大要轉職成自(動)耕農了!?
推 自動化生產(X
推
我就直接問你「ゴール」要怎麼處理XD
直接用<NAME_金>TAG強制轉換
推
推
感謝您翻譯阿!
你確定要強制轉換?_A_ ゴール在這作當終點解的頻率不低哦
推一個!真的感謝m大一直以來的更新!
push
最終會人工校稿,金雖然容易出事不過還比不上露、安w
amd gpu雲有試用200鎂
M大辛苦了 但要提醒一下M大再怎麼努力 都很有可能事後被
官譯糟蹋 可能要先做心理準備
推
用心推
感謝大大一直以來的翻譯 訓練AI感覺很有趣
強者...一級AI咒術師嗎...
我先說的我看不懂 但推
太神啦,竟然手搓耕耘機
好猛
推
推
很厲害有趣的測試....希望最後能更加實用化。
推M大!
期待自動化農耕,推M大
看不懂但好厲害(?)
超強,未來應該也可以用來訓練不同小說的翻譯模組!
76
Re: [資訊] GPT x 旅行翻譯器感謝板友的熱情測試與回報Bug 旅行翻譯神器 改版了 修復了 iOS無法語音輸入的大問題 (注意,語音輸入要麥克風的權限,請用Safari或Chrome開啟) 此外,為了解決對方回答會聽不懂的狀況!![Re: [資訊] GPT x 旅行翻譯器 Re: [資訊] GPT x 旅行翻譯器](https://i.imgur.com/10iqHyVb.jpg)
61
RAW 編輯軟體 darktable 繁中翻譯發布不知道有沒有人聽過或使用過 darktable 這套軟體 官網: 這是 RAW 檔編輯軟體,類似 lightroom 和 capture one 但是由開放社群開發,所以自然是免費的 最主要的特點個人覺得是編輯功能強大,像是以下幾點
47
[閒聊] 有關ChatGPT 翻譯的品質雖然板上已經有很多討論了,但是小弟還是想了解清楚一點故發此篇文章討論 小弟滿愛看日文輕小的,但無奈小弟日文七竅只通了六竅,那是完全看不懂日文 以往看web生肉的話都會等待有翻譯實體書出版或是有愛人士漢化,但各位如果常看小說 的知道日輕在台灣的出版,那是常常斷尾啊,常常看的正爽出版社就不給你出下一本了, 而漢化組也不見得會堅持到整部作品完結31
[心得] 用Luna翻譯中文玩Ren’py遊戲和Galgame首先在這邊先提醒一下,Windows安全性好像會擋這個翻譯器,我是索性把翻譯器的資料夾 新增到排除項目,讓翻譯器不會被Windows掃瞄到 另外使用翻譯軟體遊玩時只能用視窗模式遊玩,沒辦法使用全螢幕玩。如果你有這種安全疑 慮及一定要開全螢幕玩的話,可以直接左轉離開這裡了哈哈 文章非常長哦,有興趣的再繼續看下去吧![[心得] 用Luna翻譯中文玩Ren’py遊戲和Galgame [心得] 用Luna翻譯中文玩Ren’py遊戲和Galgame](https://i.imgur.com/2SqwhJDb.jpg)
19
[心得] 用chat gpt翻譯出來的品質之前在板上看到有用AI翻譯的作品,覺得翻出來的水準還能接受,找了最方便用的Mtool 會員來試看看,摸了一陣子後有些心得來聊一下。 Mtool lv2目前有三個AI翻譯可以用,分別是gpt3.5、百度、有道,都測過之後來看看差 別,從上至下分別是Gpt3.5>百度>有道。![[心得] 用chat gpt翻譯出來的品質 [心得] 用chat gpt翻譯出來的品質](https://i.meee.com.tw/326Hd0H.jpg)
11
Re: [急了] 日本翻譯協會對AI翻譯漫畫發表聲明其實現在已經有這種東西 這是一個叫SakuraLLM開源語言模型, 使用日文及簡體譯文的輕小說文本進行訓練,據說翻譯效果好過GPT3.5 燒家用顯卡即可本機運行,不需要錢,翻一本輕小說也就十幾分鐘的事情![Re: [急了] 日本翻譯協會對AI翻譯漫畫發表聲明 Re: [急了] 日本翻譯協會對AI翻譯漫畫發表聲明](https://images.plurk.com/g790yKCVmKAo33A7BojcB.png)
8
[閒聊] AutoVT 一個看Vtuber Live簡便翻譯的小日文N87路過,看V許久都是看人烤熟肉 很多只烤大箱,中小箱或新人初配信就很少烤肉人,挺可惜 然後看一些遊戲生放送也是聽都聽不懂,哈哈哈 自己完全無python開發經驗,靠GPT4搓了這樣一個小工具 目的不是要100%看懂,而是至少知道人家大概在說啥就過得去![[閒聊] AutoVT 一個看Vtuber Live簡便翻譯的小 [閒聊] AutoVT 一個看Vtuber Live簡便翻譯的小](https://i.imgur.com/3plmOCdb.png)
5
Re: [閒聊] ChatGPT是語言模型不是搜尋引擎關於這個,最近騰訊的AI Lab在1/31有篇technical report Link: 這篇文章是想要比較 ChatGPT, Google翻譯,DeepL,騰訊(Tencent)翻譯的翻譯表現 他們用的測試來源有這四樣![Re: [閒聊] ChatGPT是語言模型不是搜尋引擎 Re: [閒聊] ChatGPT是語言模型不是搜尋引擎](https://i.imgur.com/mZEyC0Gb.jpg)
Re: [問卦]AI生活化 未來翻譯會不會失業?GPT-4 拿來翻譯用一下,在翻譯專業書籍和文件方面已經在譯者的前段班了 (專業人士很多翻得不好 最讓我衝擊的是,語言不同可能不再是知識的壁壘 最近在推雙語政策,又在吵師資跟不上 我就想,在大型語言模型如此強大的今天這一切可能都要改觀![Re: [問卦]AI生活化 未來翻譯會不會失業? Re: [問卦]AI生活化 未來翻譯會不會失業?](https://img.youtube.com/vi/SQd394a4qEo/mqdefault.jpg)
1
Re: [討論] AI真的可以取代翻譯或作者嗎?這個沒什麼好討論的了, 因為用AI取代翻譯或作者,根本不是未來式,而是現在進行式 在我身邊就有翻譯社、出版者在工作流程中導入AI翻譯, (代表出版者直接跳過翻譯社出多語版本書籍的意思) 當然,他們都是用企業級、甚至自行fine tune後過的模型去操作,