接下來幾天都要做專案啦,這次挑戰要繼續拓展鋼鐵動物系列,上次參加鐵人賽做了 鋼鐵鳥 Iron Bird 鳥兒分類器,這次改做鋼鐵草泥馬 Iron LLaMa:
這個專案參考自 Code to the Moon - Build A Full Stack Chatbot in Rust (feat. Leptos & Rustformers)。
在接下來的幾天我們會建立一個簡單版的 ChatGPT,並使用 Rust 實作其前、後端,以展現 Rust 在 MLOps 中可行的應用。
這裡我們只著重在 機器學習產品生命週期 中部署的部分,另外在硬體上僅會使用 CPU,完成後的作品如下 (不知道在傲嬌什麼哈哈哈):
這個專案會用到的開源工具如下:
RustFormers/llm - 以 GGML 函式庫為基礎的 Rust 語言 LLM 生態系,它提供了一系列工具和 API,可用於 LLM 的各種任務,包括文本生成、翻譯和問答。
另外還有提供了一些預先訓練的 LLM,可供直接使用或用於自定義模型。
由於使用 Rust 實作,RustFormers 旨在為 LLM 世界帶來 Rust 的高性能、穩健性、高可擴展性與易用性等優點。
雖然目前推論只能在 CPU 上進行,但團隊也在著手建立對 GPU 推論的支援。
以下為其可支援的模型:
💡GGML 是一個高性能的機器學習函式庫,它支援包括矩陣乘法、卷積和激活函數在內的多種運算。
而 Rustformers 使用 GGML 來處理 LLM 的數學運算,因此可以快速地運行 LLM。
Taiwan LLaMa - 這個不用說了吧,臺灣之光,由臺大資訊系博士生林彥廷專為臺灣人量身打造的 LLM,在 Vicuna Benchmark 訓練中,可以得到近 80 分的高分 (以 ChatGPT 為 100 分作為基準)。
💡 Vicuna Benchmark 為開源聊天機器人,透過收集大量的對話來訓練語言模型)。
注意這裡因為 RustFormers 支援的是 GGML 模型,所以會改為使用唐鳳 audreyt 實作的版本
Leptos - 基於 Rust 的全端網頁框架,使用 WebAssembly 作為其渲染引擎,這使得它能夠在任何支持 WASM 的瀏覽器上運行,其特點為:
重點是其效能已經逼近 Solid.js,甚至是原生 JavaScript:
以上就是這幾天我們會用到的工具。
今天就介紹到這邊,明天就能開始寫程式囉!