我的新書AI 職場超神助手:ChatGPT 與生成式 AI 一鍵搞定工作難題的教材投影片已製作完成
歡迎各位有需要的教師和博碩文化索取教材

Machine Learning

  • ,

    QLoRA – Efficient Finetuning of Quantized LLMs

    QLoRA 擴展了 LoRA,透過量化原始網路的權重值來提高效率,從高解析度資料類型(如 Float32)到較低解析度資料類型(如 int4)。這會減少記憶體需求並加快計算速度。 什麼是QLoRA QLORA(Quantized LoRA)方法是一種用於大型語言模型(LLMs)的微調的新方法。傳統上,微調大型模型需要龐大的計算資源,而QLORA則提出了一種可以在GPU上進行低成本微調的方法。QLORA的關鍵創新在於使用了4位量化技術,並引入了可訓練的低秩適配器權重,從而大幅降低了微調過程中所需的記憶體,並且在不影響模型性能的情況下實現了相當於16位完全微調基準的預測性能。 QLoRA 技術所做的三個面向改進 由上圖可知,QLoRA 利用了nVidia 統一記憶體功能,當GPU 記憶體不足時,該功能允許GPU->CPU 無縫頁面傳輸,從而管理GPU 中突然出現的記憶體峰值,並協助解決記憶體溢出/超限問題。 利用QLoRA所做的研究 由於 QLORA 的高效性,可以進行深入的指令微調和聊天機器人效能研究,所涉及的模型規模是常規微調因記憶體開銷而無法企及的。 因此,提出論文的團隊針對多個指令微調資料集、模型架構以及參數規模介於 80M 到 65B 的模型訓練了超過…

  • ,

    LoRA (Low-Rank Adaptation)

    LoRA(Low-Rank Adaptation)是什麼 LoRA是一種有效的參數微調技術,可幫助改善大型語言模型在特定任務上的效能表現,並且具有較低的運算和儲存成本。它是一種用於在大型語言模型(LLM)上進行參數微調的技術。 它旨在透過降低模型參數的秩(rank)來減少模型的複雜度,從而提高模型的泛化能力和適應性。 在傳統的參數微調過程中,常常會遇到過擬合的問題,特別是當訓練資料較少或訓練資料與目標任務不符時。 LoRA透過引入一個低秩的參數矩陣,將原始的高維參數矩陣分解成兩個低秩矩陣的乘積,從而降低模型的複雜度。 這種降維的方式可以有效地減少模型的參數量,減緩過度擬合的情況,並提高模型的泛化能力。 LoRA的主要優點 LoRA流程說明 運作原理 在LoRA中,一組新參數同時加入了網路WA和中WB。這些網路利用低秩權重向量,其向量的維度表示為dxr和rxd。在這裡,「d」代表原始凍結網路參數向量的維度,而「r」表示所選的低秩或更低維度。值得注意的是,「r」的值越小,模型訓練過程就越加速和簡化。確定適當的「r」值是LoRA中的關鍵決策。選擇較低的值會導致更快且更具成本效益的模型訓練,但可能不會產生最佳結果。相反,選擇較高的「r」值會增加訓練時間和成本,但會增強模型處理更複雜任務的能力。 LoRA的運作方式是,首先需要一個預先訓練的LLM,並凍結其大部分參數。然後,將這些凍結的預訓練模型權重與可訓練的秩分解矩陣一起注入到變壓器的每一層中。這樣做有助於精細化模型,特別是在低資源硬體上調整模型。 從上表可以看出,LoRA 方法的結果與經典的微調方法相當,可以用更少的時間和資源獲得或多或少相同的結果,並且有更快的執行時間和更短的訓練時間,真是太棒了! 結論 更多資訊請見 LoRA: Low-Rank Adaptation of Large Language Models:

  • ,

    Retrieval-Augmented LLMs

    檢索增強生成(RAG)的工作流程 從使用者查詢開始,透過向量資料庫檢索,到填入提示,最終形成回答的整個過程。 RETA-LLM框架可以看作是實現RAG目標的一種具體實現方式,它提供了一套模組化的工具和方法來將外部知識整合到語言模型中,以提升其產生答案的能力。 RETA-LLM Framework 研究論文: https://arxiv.org/pdf/2306.05212v1 過去通用的LLM增強工具包(如LangChain)與RETA-LLM有所不同,RETA-LLM專注於檢索增強LLMs,並提供更多的插件模組。 檢索增強LLMs使用兩個模組的檢索和生成策略: 除了這兩個基本模組外,RETA-LLM還提供了三個可選模組: 這些可選模組可以使IR系統和LLMs之間的交互更加有效和順暢。RETA-LLM中LLMs和IR系統之間的解綁更加徹底,這使得搜索引擎和LLMs的定制更加方便。 RETA-LLM的框架圖 RETA-LLM的工作流程如下: 請注意,LLMs的所有輸入都包含在指示或提示中。 如圖1所示,在RETA-LLM中完全解開了IR系統和LLMs之間的連結。 我們RETA-LLM中的這種分離設計使用戶可以自訂自己的個人搜尋引擎和LLMs。 知識檢索的過程 RAG的挑戰

  • ,

    提示工程框架的概念

    明確具體的提問 以下為一個範例 In-Context Learning和Chain-of-Thought Tree-of-Thoughts思維樹 思考樹(ToT)是一種透過將複雜問題分解為更易於解決的小問題,為LLM推理提供了更結構化的提示框架。 與在鏈中推理的CoT不同,ToT以樹的形式組織其解決問題的策略。每個節點都被稱為“思維”,是一個連貫的語言序列,是通往最終答案的一步。 透過將問題劃分為離散的「思想」單元——從填字遊戲中的一系列簡短單字到數學方程式的一個組成部分——ToT確保問題的每個階段都得到系統的解決。 在「oracle模式」下,ToT的表現比CoT還要好

  • ,

    準備微調用的資料集

    LLM的訓練過程 以下是LLM訓練過程的圖 NLP 數據集可用於演示各種 NLP 任務,例如: NLP 數據集可用於為 NLP 模型提供輸入和輸出。 整理 NLP 數據集的步驟 簡單的範例程式碼 用於整理 NLP 數據集的工具和資源

  • ,

    基於神經網路的語言模型

    基於神經網路的語言模型 基於神經網路的語言模型是一種利用深度學習技術,特別是透過循環神經網絡(RNN)或注意力機制(Transformer)的模型,來處理自然語言文本並生成下一個詞彙的模型。相較於傳統的方法,這種模型具有以下特點: 依據用戶的指示,LLMs可以執行各種從所未見的新任務,甚至不需要任何樣本、範例。 T5 (Text-to-Text Transfer Transformer) 模型 所有自然語言處理的任務,都可以化為序列對序列的生成任務 缺點包括: LLM的演化歷史 大型語言模型具有以下特別能力: 微調過程 微調過程如下: 此圖表顯示了微調過程的各個步驟 Dual View 是一種 上下文學習 技術,允許模型考慮輸入句子和查詢句子的上下文。它通過向模型提供兩個視圖來實現:

  • ,

    Phi-2 vs Phi-3大語言模型初探

    Phi-2 模型介紹 官方介紹: https://www.microsoft.com/en-us/research/blog/phi-2-the-surprising-power-of-small-language-models/ Phi-2 是一個擁有27 億個參數的 Transformer。它使用與Phi-1.5相同的資料來源進行訓練,並使用由各種 NLP 合成文字和過濾網站組成的新資料來源進行了增強(出於安全性和教育價值)。當根據測試常識、語言理解和邏輯推理的基準進行評估時,Phi-2 在參數少於 130 億的模型中展示了近乎最先進的性能。 Phi-3模型介紹 官方介紹: https://azure.microsoft.com/en-us/blog/introducing-phi-3-redefining-whats-possible-with-slms/ Phi-3-Mini-128K-Instruct 是一個擁有 38 億參數的輕量級最先進的開放模型,使用 Phi-3 資料集進行訓練。該數據集包括合成數據和經過過濾的公開網站數據,重點是高品質和推理密集屬性。 在初始訓練後,該模型經歷了訓練後過程,其中包括監督微調和直接偏好優化,以增強其遵循指令和遵守安全措施的能力。當根據測試常識、語言理解、數學、編碼、長期上下文和邏輯推理的基準進行評估時,Phi-3 Mini-128K-Instruct 在模型中展示了強大且最先進的性能130…

  • 探索LM Studio:輕鬆測試和部署開源大型語言模型

    探索如何使用LM Studio測試和部署開源大型語言模型(LLM)。本文詳細介紹LM Studio的安裝過程、界面功能,以及如何在本地運行各種GPT模型,實現離線AI聊天機器人。適合想要深入了解LLM技術並進行實際應用的AI愛好者和開發者。

  • ChatGPT / Bing / Bard / Claude指南

    一、介紹人工智慧 這邊主要是在說明人工智慧演進的過程,其實人工智慧的概念第一時間是在1950年時,由圖靈所提出,定義為一個人透過鍵盤和另一個對象溝通,如果施測者無法分辨與之對話的對象是人還是機器的話, 這個機器就被認為擁有「智慧」 但這個時候人工智慧的實作方式還比較以符號邏輯(類似統計學這樣以符號代表抽象的概念)為主,但很難清楚的釐清人類的思考邏輯。後來專家系統時代,人類會嘗試針對每個領域的知識去化作一條條的規則 但是,人類所能表達的,遠比人類所知道的少(博藍尼悖論),因此我們很難很完整的把我們所知道的化作規則或思考邏輯來打造人工智慧。 從2010年至今,我們進入的資料至上的時代,也就是我們開始直接丟資料給電腦,由電腦去歸納、找出電腦自己看得懂的規則,這也是為什麼ChatGPT等生成式AI的結果帶有部分的不可控、不可預測性。 了解AI的演進過程可以讓我們了解當我們要選擇AI技術時,可能可使用的選擇。雖然2010年後的機器學習技術能夠做到最廣泛的通用人工智能,但是若我們的需求範圍較為侷限,或者需要非常高的可解釋性、準確性時,仍然可以考慮符號邏輯或專家系統的方式來實做。 這些演進的歷程都是現在生成式AI能夠出現的重要基礎,每一代之間的關係不是淘汰,而是一層層的進化。 二、基礎模型帶來AI再一次的革命 在這邊我強調了在ChatGPT出現之前的AI應用,大多都用在中、大型企業內部或智能相關產品的應用。但是ChatGPT出現之後,AI從產業研發進入全民有感,並且掀起了非常大的AI風潮。 這是因為基礎模型的出現,所謂基礎模型就是類似ChatGPT這樣用途可以非常廣泛,並且可以透過詞嵌入的方式,以非常快速簡單的prompt方式,打造不同的產品。 例如下圖中的GitHub Copilot、智慧錄音卡、Notion AI、AI心理諮商,其實都是使用ChatGPT的模型,卻可以使用在多種非常不同的應用場景上(心理安慰、生活便利、程式開發等不同用途) 這樣的一個基礎模型的出現,帶來開發AI應用的革命性變革,過去,有些AI應用程式可能需要我花上六個月、甚至一年的時間來建立,現在許多團隊可能一週就能完成 以ChatGPT的自製一個聊天機器人為例,現在只需要上傳一些機器人需要知道的文件資料、並且使用對話的方式指導機器人該如何正確回應,就可以擁有一個專屬的客製對話機器人 三、生成式AI相關的應用 有興趣的可以自行去研究、了解現在AI可以做到那些事情 文本生成(LLM) 圖像生成 (text-to-image) 音樂 / 聲音生成 程式碼生成 四、多模態應用 基礎模型另一個強大之處,在於可以結合視覺、聽覺、文字的輸入,以及對不同型態輸入資料的交叉理解,能夠讓AI朝【通用型人工智慧】更加靠近 五、善用AI為生產力的新動能…

  • OpenAI Playground介紹

    什麼是OpenAI Playground 教學文件: https://platform.openai.com/docs/overview OpenAI Playground(OpenAI 遊樂場)是OpenAI提供的一個線上平台,用於演示和測試他們的自然語言處理模型,例如GPT-3.5(本模型的基礎)。它允許用戶與模型進行互動,輸入文本並獲得模型的自動回應,以便演示其自然語言處理能力。 OpenAI Playground通常用於展示GPT-3及其他相關模型的功能,並讓開發者和研究人員評估這些模型的效能以及探索其應用潛力。用戶可以在Playground上提出各種問題,構建對話,生成文字,從而了解模型如何處理不同的輸入。 此外,OpenAI Playground也提供一個用戶友好的界面,讓用戶可以輕鬆嘗試GPT-3及相關模型的能力,而無需自行設定或編程。這對於探索自然語言處理的應用,以及將這些模型集成到不同的應用中都非常有用。 在OpenAI Playground體驗與模型的互動 Playground 的完整版介面,可以提供各種模式和參數,通過調整無數其他可自定義選項來增強用戶體驗。在對話框的部分也可以使用語音輸入,或者上傳既有的語音檔,使用OpenAI語音轉文字的功能提供資料給Playground 下面是這個介面的一些功能 這些功能和選項使用戶可以更好地控制模型的生成行為,以滿足不同的用例和需求。這使得OpenAI Playground成為一個有用的工具,用於測試、探索和改進自然語言處理應用,並理解模型的行為。 使用OpenAI語音轉文字功能 切到完整功能並且按麥克風的圖案,就可以上傳語音檔案,並使用Whisper轉成文字,這個功能已經開源了 OpenAI Playground的核心特性 支持多種型號的模型 OpenAI API…


17年資歷女工程師,專精於動畫、影像辨識以及即時串流程式開發。經常組織活動,邀請優秀的女性分享她們的技術專長,並在眾多場合分享自己的技術知識,也活躍於非營利組織,辦理活動來支持特殊兒及其家庭。期待用技術改變世界。

如果你認同我或想支持我的努力,歡迎請我喝一杯咖啡!讓我更有動力分享知識!