Posted on

介紹 OpenAI o1-preview

官網介紹o1-preview

介紹 OpenAI o1-preview:https://openai.com/index/introducing-openai-o1-preview

首次瞭解:探索 GitHub Copilot 中的 OpenAI o1:
https://github.blog/news-insights/product-news/openai-o1-in-github-copilot/

在2024/9/12,OpenAI推出了o1-preview的模型,這個模型的最大特色就是具備有先進推理能力,可解決難題。測試顯示o1-preview在程式碼分析和優化方面效果良好。該模型能思考挑戰並能夠將複雜任務分解為步驟,這可以優化程式碼以解決性能問題,加速開發工作流程。

透過這樣的思考流程,ChatGPT可以完成更複雜的程式撰寫任務,過去,我們仍會需要透過人的思考將任務拆細後一步一步請ChatGPT幫忙完成,再由工程師將任務功能組合起來,而現在o1-preview則自己就能夠具備有將複雜任務拆細的能力。

從下圖可看見,ChatGPT的程式撰寫能力瞬間從11分進步到89分(圖片來源: https://openai.com/index/learning-to-reason-with-llms/)

o1-preview 模型的新功能總覽

隨著 o1-preview 模型的推出,這個模型在性能、功能和未來更新方向上展現了許多新亮點。

  • 模型大小與性能
    o1 系列的模型中,o1-mini 和 o1-preview 各有特色。o1-mini 相較於 o1-preview 體積更小,速度更快,預計將來會提供給免費用戶使用。o1-mini 雖然在世界知識上較有限,但在 STEM 任務和編碼相關任務上表現出色,且能探索更多的思考鏈。而 o1-preview 則作為一個早期檢查點,位於性能和大小之間,能夠處理更開放的任務,並支持長鏈思考過程。
  • 輸入 Token 與上下文處理能力
    o1 的輸入 token 與 GPT-4o 採用相同的 tokenizer 且能夠處理更長的上下文,在未來版本中還會進一步擴展輸入上下文的長度,減少對輸入內容的分塊需求。儘管目前無法在連鎖思考(CoT)期間暫停推理來添加更多上下文,但這項能力有望在未來實現。
  • 工具與功能更新
    目前 o1-preview 尚未開放工具使用,但未來將支持函數調用、代碼解釋器與瀏覽功能。此外,將加入工具支持、結構化輸出與系統提示等增強功能。用戶將來可能還能控制思考時間和 token 限制,並支援流式傳輸。
  • 連鎖思考推理
    o1 模型在推理時會生成隱藏的思考鏈,這使得它能夠在處理複雜問題時展現更強的推理能力。目前 CoT token 會被摘要,尚未開放給 API 用戶,但隨著強化學習技術的加入,模型的連鎖思考能力將進一步提升
  • API 與使用限制
    o1-mini 在 ChatGPT Plus 用戶中設有每週 50 次提示的限制,並計劃推出更多 API 訪問層級和更高的速率限制。提示緩存是用戶的熱門需求,未來可能會加入此功能。
  • 價格、微調與擴展
    o1 的定價將遵循每 1-2 年降價的趨勢,並支持批量 API 定價。模型的微調尚無具體時間表,但研究與工程人才的限制可能會影響未來的推理擴展計劃。
  • 模型開發與研究亮點
    o1 模型在創造性思維、哲學推理及複雜任務處理上展現了強大能力,甚至內部測試中也表現出色。未來版本將進一步擴展世界領域知識,並更新數據以提升性能。
  • 提示技術與最佳實踐
    o1 模型對於提示的接受度高,尤其是在檢索增強生成(RAG)技術的輔助下,能夠進一步改善推理性能。提供相關上下文有助於提高表現,而無關的內容可能會降低其效果。
  • 未來展望
    o1-preview 正處於早期測試階段,未來將繼續優化延遲和推理時間,並大幅增強模型的創造性與推理能力。

o1-preview 模型功能實測

先說結論,真的非常的強,不論是產生程式、理解程式、修改程式,都和過去是完全不同等級的狀況!非常的厲害。

這是我今天使用o1-preview 來製作一個HTML的俄羅斯方塊的對話紀錄,可以看到ChatGPT完美的完成任務,真的是沒有BUG的完整的遊戲,而且修改的動作也都非常的完美,真的可以靠指令達到我的許多要求。我覺得這樣的程度的模型是真的會影響到許多工程師的未來性。

對話紀錄在此:https://chatgpt.com/share/66e6bcf1-4254-8005-a573-a250e1b51702

我們可以看見現在的o1-preview會有著更多細緻的思考流程,為我們將一個很大的指令拆分成許多個步驟,並重新檢視、整個整個程式碼,接著則是設置遊戲的玩法。

接著我請他增加計分板和顯示下一個方塊的功能也完美達成

請他幫忙調整版面也非常完美的完成功能

這個是成果:https://claire-chang.com/wp-content/uploads/2024/09/test.html

操作說明:

  • 使用 左箭頭鍵右箭頭鍵 控制方塊左右移動。
  • 使用 下箭頭鍵 加速方塊下落。
  • 使用 上箭頭鍵 旋轉方塊。
  • 使用空白鍵直接下降。