# 【生成式AI導論 2024】第4講:訓練不了人工智慧?你可以訓練你自己 (中) — 拆解問題與使用工具 ## 強化模型的能力 > [上一堂課](/Px9cUHeWRC-Uf3psmuL8gA)提到了 > > 1. 將prompt加上神奇咒語 > 2. 供額外資訊。 ### 把任務分多步驟來解 #### 把複雜的任務拆解成多個步驟 *  * 例如把寫報告拆成:列大綱->寫各段->作摘要  * 這就是為什麼在神奇咒語中叫模型think step by step思考結果會比較好,因為會把過程列出來,以數學問題為例: * 這是叫模型用chain of thought 的結果 * 可以看作就是把任務分成多步驟 #### 檢查自己的答案 *  * 也可以叫語言模型在檢查一次自己產生的結果,就像我們會檢查考卷一樣,再看一次有機會發現錯誤 * 因此Constitutional AI這篇論文就使用了這樣的步驟: 1. 根據prompt產生答案 2. 叫模型根據產生的答案檢查是否有錯誤或是違反善良風俗的地方 3. 根據原本的回答跟檢查的結果產生新的答案 #### 同一個問題每次答案都不同 * 為什麼同一個問題每次答案會不同? * 因為語言模型給出的是每個字的機率,而不是直接選出字,等於給一個文字骰子後再去骰骰子。只是比較有可能骰出特定幾個字,但不一定只會骰出那個字。 * 透過每次答案不同的這個特性,可以多問幾次,再取最可靠的答案,這樣的步驟叫做**Self-Consistency** #### 組合全部 * 最終結合全部 * 就會變成像這樣的步驟,先分為多個步驟,在每個步驟中去多次思考,然後取可靠的答案進入下階段。這種方法稱為**Tree of Thoughts(TOT)** * 還有其他很多XX of Thought的方法,但都是把任務拆成小任務,讓語言模型去各個擊破。 ### 讓語言模型有使用工具的能力 * 語言模型也有不擅長的事,如計算。 * 語言模型不能直接當成搜尋引擎,因為他就是文字接龍,沒有資料庫告訴他最新的消息。 #### 使用搜尋引擎作為工具 * 等於把專業問題跟資料一起丟給模型 * 這個技術就是**Retrieval Augmented Generation(RAG)** * 這項技術其實沒有很困難,因為完全沒有改變模型,只是多給他一些資料。 * 透過這樣的改變,就可以讓你的模型跟別人的不一樣,例如你有獨佔的資料庫,就可以得到特別的答案。 #### 使用寫程式作為工具 * 以GPT4而言,他會直接寫程式碼去計算數學式子,並且執行取得答案。   * 這種方式稱為**Program of Thought(POT)**,用寫一段程式取代文字接龍。 #### 使用文字生圖AI作為工具 * 可以讓GPT自己產生文字遊戲的圖片 #### 語言模型如何使用工具? * 一樣使用文字接龍,但使用特殊symbol去呼叫工具。在```呼叫工具```與```結束使用工具```之間的文字就是操作工具的指令。 * 想要知道如何使用工具,可以去看[【生成式AI】能夠使用工具的AI:New Bing, WebGPT, Toolformer](/bF_zT_vYQzm3cvfIg7YKHg) * 但畢竟使用工具的指令也是生成的,所以使用工具也有可能會出錯。例如叫他把"畫一隻狗"翻成英文,有可能會翻成英文,同時順便呼叫畫圖工具畫一隻狗給你。 * [Any Tool](https://arxiv.org/abs/2402.04253)這篇文章說明了如何讓語言模型把使用工具這件事用到極致。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up