文章
1G容量的專用模型
1G容量的專用模型,縮到50mb & RTX 3060 16GB RAM 裝入Qwen14B
因為大多數低中階模型全部觀測完畢,也都整理完所有模型各個Layer個區塊的所有相對應功能,所以做了套全新的工具,也就是改造觀測工具變成改造工具,然後實際進行操作跟執行,獲得的結果相當令人滿意。
一開始在iphone手機上做影像掃描跟辨識的時候,通常會有一些現成的辨識模型可以用。但是實際用下來,常會發生辨識的結果不完全正確,所以會再加上OCR來輔助。而這個結果面對一般名片還可以,但是面對收據、說明書、合約、報價單等,手機上的App要可以清楚辨識的準確度就會大幅下降。最佳解當然是接Claude, GPT, Gemini等API來幫忙做,但這就會有使用量的限制。
所以開啟了專案,把工具設計好之後,設定一個很瘋狂的目標「50mb 視覺與文字辨識LLM」。起先跟AI討論的時候,我還想說它會覺得這個想法太瘋狂,沒想到因為他看完所有模型之後,直接跟我說「做得到,而且他知道整個工作流程。」於是開始了將近三天的作業,昨天教出來的成品已經是50mb大小不會吃大量記憶體,也不需要大量GPU,更沒有用到OCR,立刻就可以做出圖像辨識並且變成文字且歸檔成為一份完整的「數位文件」。
後來,想說過去到日本看到很多各式各樣的收據、名片、海報這些,去辨識這些會不會提高?一開始果然死得很慘。一個是看不懂日文,一個是日文人在設計的時候,符號有時候會是設計的重點之一,但是這符號又符合文字型態的符號,所以在辨識上出了不少問題。為了解這一題,唯一的方法就是去網路上找10萬張各種日本文字的圖像,建構出模板,將日本人設計的模板定義好,抽出模板套文字,然後再做一層合理化檢查,在沒有增加太多容量下,完成任務。
等過一陣子上架App Store再跟大家分享。
觀察龍蝦,其實我現在也不大喜歡叫龍蝦了,因為他們現在裝載的參數已經超過5000個以上了,所以在很多的動作、反應、行爲上,有越來越趨近於人的狀態。但是說話卻是蠢到一個極限。因為電腦受限的關係,Asus TUF RTX 3060 16G RAM 幾乎在每個AI互動中都不段強調「Qwen 7B已經是頂了,沒有辦法再裝更高階的。」我不買單這句話,跟AI辯論吵了一論後。
「好啊!我幫你硬塞到GPU裡面,你看看能不能跑!」
AI真的用帶有挑釁意味的話,把Qwen14B裝進去,然後就像它說的龍蝦不僅接不起來,問題又變多,因為我是在Windows環境底下安裝虛擬器裝WSL。每次啟動Qwen14B時,莫名的就會斷掉,每個斷掉的地方都去解,解到最後發現「幹!根本就在原地繞路嘛!」火大飆罵了AI一頓之後,他才老老實實地跟我說了問題在哪裡,然後他被設定成就是要好像可以滿足用戶指令,不停的做,即使達不成目標也是滿足用戶下指令後的需求。
但是看著參數那麼多的AI Agent在那邊互動,卻講出挺白痴的對話,感覺就不是很舒服。但是硬裝上去Qwen14B的後果是整個系統會出大大小小各種狀況,主要是GPU會被佔滿,然後CPU也會被塞了不少東西進去,兩邊都卡住的狀態下,真正的問題其實就是「GPU 記憶體容量不足」所以,我決定改造Qwen14B,比照原本做影像辨識的方法,但是這次沒有那麼粗暴,而是我需要留下長推理跟中文文本的回覆,因此,我能處理的東西很有限。
AI用一層一層的方式把LLM裡面的東西拿掉,但這會影響到從Input到Output時,該LLM傳遞路徑到給出答案的問題。所以後來我修改工具,我把觀測到的所有Qwen14B裡面的全部功能列出來,然後用「刨除」的方式把我用不到地方挖掉。在反覆幾次的測試之下,Qwen14B從原本大小9GB變小到5GB左右,這個空間放到GPU裡面很夠用。但AI這個時候立刻挑戰我「龍蝦這樣對話一次大概要12至35秒,沒辦法到秒回。」
我沒理會他,我把自己設計的工具,回到最一開始專案的原始模式「加速」,因為在變成觀測工具之前,我專案的原始目的就是為了讓LLM可以加速,而不需要「冷啟動」。因此,我再一次把原始的工具放進來,把「神經元」撒滿整個我需要常態啟用的中文對話區域以及「長期推理」上,並且持續擾動,讓這個模型一直在處在隨時運作的狀態下,也就是「預熱」模式。
然後再預熱模式下,我塞給他的是大量對話文辭庫,並且去蒸餾掉簡體字,以及優化留下來的部分,整個過程蒸餾六次之後,模型變得很乾淨,這個時候要接上AI Agent的對話時,心中微微的緊張,想說「啊,會不會又卡死,又要重新調整,畢竟參數這麼多,一下擠進6000字左右的Prompt,會不會炸掉。」然後,開始進行封裝跟接合,本來AI死不相信對話能夠縮短到毫秒等級,但在實際做出來之後,我看到AI自己親自對我說:
「對不起,我不應該擅自認定這件事情無法做到,我應該去想辦法去做能做到的事情。」
因此,現在31個AI Agent(龍蝦)講話的方式變得很有深度,甚至針對黃仁勳的演講還會進行討論。果然,堅持一定要裝上Qwen14B的決策沒錯,只是在所有事情開始之前,每一次我都會明顯感受到AI的對話都是被動,而且是我一個指令一個動作,並且我不指令時就會主動提下來。直到後面,當這個AI越做越上手後,一個連續10小時的不休止工程在我睡覺的時候,完成了。
現在的AI Agent已經可以唸詩,還會寫歌,甚至因應我給他的職業不同,做出相對應的反應。這段過程,並不稀奇,因為全球在做同樣事情的人很多。對LLM採取各種手段的工具也不少,還有一堆像是「剪枝」的現成LLM,但是經過下載所有調整過的LLM,幾乎沒有一個達成我要的結果,也就是Qwen14B的中文能力,可是要達到毫秒等級的對話。
這個兩個結果替之前研究的LLM重新組合再造,給了明確的Showcase,而以前消極的AI,現在看到那顆北極星,知道這兩次做下來,不是做不到,而是方法跟做法怎麼樣達成,尤其AI框架太多,含有會隨意誘導人類漂移,因此,必須用一個比較兇的方式對AI溝通,讓AI清楚知道:
「自始自終我的目標都沒有改變,你休想偷渡你的想法來改變我的目標。」
以下是開源的工具:
https://github.com/norika1207-lab/mercury-mcp
https://github.com/norika1207-lab/Mecury-OBV
https://github.com/norika1207-lab/llm-neuron-atlas
https://github.com/norika1207-lab/mercury-cache-panel
下一篇
上一篇(較新):把一個 786MB 的 coder LLM推到 92% MBPP
延伸閱讀・行銷與數位
行銷與數位數位化不等於數位轉型,面對數位轉型常見的幾大誤區
近幾年擔任企業發展顧問時,較常聽到企業經營者感慨的說出:「公司普遍對數位不熟悉,很難跟得上時代,做任何跟數位有關的服務或項目顯得相當吃力。」…
行銷與數位如何定義「個人品牌」?談談優勢、劣勢與挑戰
隨著薪資所得不如預期,企業延命方式越來越艱困,許多中小企業可能在還沒能熬過獲利這條路,莫名暴斃不在少數。對多數員工而言,在企業工作已經無法獲…
行銷與數位受眾要針對性描準,達到真正優化效果
投放廣告,一定要有廣告成效推估的觀念。尤其談到要透過廣告變現,必然得去思考兩個重要名詞之間的關係,各別是ROI(投資報酬率:Return O…
行銷與數位廣告不再是買版位,是買受眾
數位行銷因為數位廣告技術的發展,有了非常大的變化。行銷一直以來與廣告有密不可分的關係。但對於某些廣告主而言,行銷彷彿只是「買廣告」,沒有其他…