阿里巴巴最新的模型 QwQ-32B-Preview 獲得了令人印象深刻的評價,特別是在推理能力方面。就像 OpenAI 的 GPT-4 一樣,它的訓練重點是推理,而不僅僅是重複語言。這似乎值得測試一下,或者至少玩玩,所以當我聽說它很快就可以在 Ollama 上使用,且不需要太大的電腦運算能力時,我下載了 QwQ 並試用了它。我還試了幾個競爭模型:GPT-4 和 Gemma-2-27B。GPT-4 是第一個聲稱專門為推理訓練的模型,而 Gemma 據我所知並沒有這樣的聲明。
那麼,如何測試一個推理模型呢?這可不是簡單的檢查事實。我想,“也許我可以請它證明費馬最後定理,”但我很快意識到,我能評估的唯一回應是“我無法證明這個。”(事實上,這是我從三個模型中得到的回應。)我也無法證明費馬最後定理,也不聲稱理解數學家接受的任何龐大證明。如果 QwQ 吐出幾千個“證明”的標記,我可以相當自信地說它的推理是錯誤的,因為我知道實際的證明要長得多,有一百頁密集的數學推理。但這並不是一個有效的測試。
那麼,費馬小定理呢?這個問題簡單多了,但它是教科書上的例子,所以無論結果如何,我永遠無法知道 QwQ 是否正確推理,還是只是從它的訓練數據中復述了某些內容。網上有很多數學教科書,合理地假設它們都在訓練數據中。
所以我試了一個稍微冷門的例子:證明如果一個數字只由 1 組成(像 11,111,111)且是質數,那麼數字的位數(全是 1)也必須是質數。我已經能證明這一點,但這不是一個足夠有名的問題,無法吸引教科書的注意。那麼,讓我們開始吧!這是 QwQ 的證明:
>>> 你能證明如果一個質數的所有位數都是 1,那麼位數必須是質數嗎?
讓我們一步一步來解決這個問題。所以,這個陳述是:如果一個質數的所有位數都是 1,那麼位數必須是質數。嗯,有趣。讓我們來分解一下。
首先,讓我們理解我們正在處理的內容。我們有一個質數,它的所有位數都是 1。例如,像 11、111、1111 等數字,但只考慮那些是質數的。我們需要證明這樣的質數的位數必須是質數。
讓我想一想。讓我們用 \( n \) 來表示位數。所以,這個數字由 \( n \) 個 1 組成。這樣的數字被稱為重數(repunit)數字。重數是一個在十進制表示中僅由 1 組成的數字。例如,\( R_2 = 11 \)、\( R_3 = 111 \)、\( R_4 = 1111 \) 等等,其中 \( R_n \) 表示長度為 \( n \) 的重數。
我們的目標是顯示如果 \( R_n \) 是質數,那麼 \( n \) 必須是質數。
讓我們考慮這個陳述的對立面。陳述“如果 \( R_n \) 是質數,那麼 \( n \) 是質數”的對立面是“如果 \( n \) 不是質數,那麼 \( R_n \) 不是質數。”如果我們能證明對立面,那麼就會建立原始陳述。
……等等,直到……
**最終答案**\[ \boxed{\text{如果 } R_n \text{ 是質數,那麼 } n \text{ 是質數。}} \]
我省略了(非常)冗長的證明——如果你想看看,就自己讓 QwQ 輸入文本。可以說它是正確的。GPT-4 和 Gemma-2-27B 也給了我相同的證明,但少了些閒聊。Gemma 跳過了一些人類可能認為顯而易見的步驟。
接下來,我們能否更進一步,進行一般化?
>>> 這個證明對於其他進位制(base)是否成立?
這是一個有趣的問題!讓我們探討這個證明是否可以擴展到其他進位制。
在進位制 \( b \) 中,長度為 \( n \) 的重數定義為:\[ R_n^{(b)} = \frac{b^n – 1}{b – 1} \]
……等等……
再一次,自己試試——再次,QwQ 正確地證明了這一點。這第二個命題不太可能出現在教科書或其他資源中;它更像是一個觀察,表明原始證明並沒有對進位制做出任何假設。
當我請 GPT 證明同樣的定理時,我得到了非常相似(且正確)的證明,表述得更正式,並且少了些色彩評論。這並不特別令人驚訝,因為 GPT 也被訓練來推理。我更驚訝的是 Gemma-2-27B 也給了我一個正確的證明。Gemma 雖然接受了數學文本的訓練,但並不是專門針對“推理”。(也許 Google 的行銷從未想到要稱這種訓練為“推理”。)Gemma 省略了一些步驟——普通人可能會認為這些步驟是顯而易見的,但數學家會為了完整性而寫出來。(為了確認,我請 GPT 確認 Gemma 的證明是正確的。它同意了。)
我們是否證明了訓練模型進行推理“有效”?好吧,我們不能僅根據一次成功的試驗來聲稱已經證明了任何事情——或者說根據極大量的試驗來聲稱。(如果你在想,Gemma-2-7B,這個更小的模型,失敗了。)但我們學到了一些非常重要的事情。想想這些模型的大小:OpenAI 沒有提到 GPT-4 的大小,但據說它擁有超過一兆的參數。QwQ 擁有 320 億參數,而 Gemma-2-27B 擁有 270 億參數。因此,QwQ 和 Gemma2 的大小幾乎比 GPT 小兩個數量級。此外,GPT 運行在世界上最大的超級計算機之一上。我們不知道其大小,但我們知道 OpenAI 的基礎設施是龐大的,並且包括了世界上大量高端 GPU 的一大部分。QwQ 和 Gemma 可以在我的 MacBook Pro 上順利運行。它們讓風扇轉動並消耗電池,但沒有什麼特別的。當然,GPT 正在同時為數千名用戶提供服務,所以這並不是一個公平的比較。但重要的是要意識到,GPT 不是唯一的選擇,並且在本地運行的模型可以在非平凡的任務上與 GPT 相媲美。大多數嘗試在本地運行模型的人都得出了類似的結論,但想想這意味著什麼。如果你正在建立一個 AI 應用程序,你不必依賴 OpenAI。更小的開放模型可以完成這項工作——它們可以讓你避免 OpenAI 的費用(以及不可避免的價格上漲),讓你保持數據本地,並讓你掌控自己的命運。
我們還能學到什麼?我一直在想,語言模型如何能夠被訓練進行邏輯推理;我的直覺告訴我,這將是一個比訓練它進行語言更困難和複雜的問題。我的直覺是錯的。我不知道這些模型是如何訓練的,但我現在認為成功產生邏輯在很多方面上比生成語言更簡單。為什麼?QwQ 的冗長性給了我們一個很大的提示:“讓我們考慮這個陳述的對立面。”對立面只是一種邏輯模式:如果 A 蘊含 B,那麼非 B 蘊含非 A。我們還能想到什麼其他邏輯模式?三段論:如果 A 蘊含 B 且 B 蘊含 C,那麼 A 蘊含 C。反證法:要證明 A 蘊含 B,假設 A 蘊含非 B,並顯示這個假設是錯誤的。歸納法:顯示如果 A(n) 蘊含 B(n),那麼 A(n+1) 蘊含 B(n+1);然後顯示 A(0) 蘊含 B(0)。
很容易列出更長的模式清單。雖然有更好的符號來表示這些模式,但更長的清單和更好的表示在這裡並不重要。重要的是要意識到這些都是模式——而將邏輯模式組合成邏輯陳述或證明並不根本上不同於將單詞(或標記)組合成句子。推動模式是否是邏輯的本質?這不是一個公平的問題:如果你正確地做這件事,那就是邏輯;如果你不這樣做,那就是不合邏輯。邏輯不在於模式,而在於知道如何組合模式來解決問題——而組合模式的過程必須是訓練的重點,查看數百萬個邏輯推理的例子,以模擬模式組合成整體的方式。任何這些邏輯模式如果不小心都可能會導致錯誤;如果從不正確的前提開始,很容易構建出錯誤的三段論。我不指望邏輯能治癒幻覺的問題。但我懷疑訓練模型以邏輯模式的方式比僅僅用單詞(人類的話語)來訓練它更好。這是 OpenAI、阿里巴巴,可能還有 Google 所做的賭注——而他們似乎正在贏。
我們能否更進一步?還有其他類型的模式可以訓練語言模型嗎?是的。生成式 AI 在生成代碼方面已經證明了其用處,但在軟體設計方面尚未(還)取得重大進展。專門針對設計模式訓練模型會不會是一個突破?我不知道,但我希望有人嘗試。專門用於軟體設計的模型是值得擁有的。
如果我們在音頻之外,還訓練模型分析音樂理論中的模式,是否能在生成音樂方面做得更好?像 Suno 這樣的應用程序非常有趣,但說到底,它們只是重複常見音樂風格的陳詞濫調。給 Suno 一些音樂理論的知識,了解音樂背後的模式,是否會有所幫助?如果語言模型接受了詩歌語言中發現的模式(修辭手法、比喻語言)的訓練,而不僅僅是單詞,是否會寫出更好的詩?我第一次使用生成式 AI 的實驗之一是請 GPT-3 寫一首彼特拉克式的十四行詩,這與更常見的莎士比亞式十四行詩有不同的結構。GPT-3 和它的同類們失敗了。直到很久之後,我才找到一個能成功做到這一點的模型;雖然大多數模型能定義彼特拉克式的十四行詩,但它們只能生成莎士比亞式的十四行詩。那一代模型僅僅訓練了單詞,而不是更大的模式。
這是 AI 的一條前進之路嗎?我不知道,但我希望 AI 研究人員能嘗試。與此同時,重要的是要意識到,儘管 GPT 模型非常強大,但你可以在筆記本電腦或手機上運行小型開放模型,並且它們的表現同樣出色。
新聞來源
本文由 AI 台灣 使用 AI 編撰,內容僅供參考,請自行進行事實查核。加入 AI TAIWAN Google News,隨時掌握最新 AI 資訊!