工作清單

宣稱媲美Opus 4.8還全部MIT開源,Ornith-1.5敢這樣喊?|AI 散步日記每日 AI 新聞彙整 0821

逐字稿文字預覽

一億兩千五百萬參數、不連網,手機上就能秒接你彈的旋律——
這算你的創作,還是作弊?
MIT授權開源模型直接嗆Claude Opus 4.
8!
可是自我改進根本是行銷話術?
?
?
今天第一則。
一億兩千五百萬參數、每秒一百零八個音符——
而且完全在一支 iPhone 上跑完,不連網。
這是獨立開發者 simedw 在二零二六年八月二十號發的文章
,他訓練了一個 transformer 模型,
幫你的鋼琴演奏做自動補全。
你可能會問「等等等等——
自動補全鋼琴?
?
是我彈幾個音,它就接著幫我彈下去的意思嗎?
」
——對。
就是這個意思。
概念跟寫程式那個 GitHub Copilot 一模一樣,
差別在輸入不是程式碼、是你按下去的音符。
你可能會問「完全在手機上?
?
所以我在飛機上關機模式也能用?
他一個人做到這個⋯⋯是天才嗎?
」
——
他提到這是經過十四次實驗才走到目前這個階段。
成果做成一個免費 App 叫 RollTab。
十四次⋯⋯聽起來前面十三次都很慘。
那他到底怎麼教模型看懂音樂?
樂譜又不是文字。
這就是最有料的部分。
他用 MIDI 檔——記錄音高、時間、
力度的樂譜格式,不是錄音檔。
裝 miditok 跟 symusic 這兩個套件,
然後從 miditok 匯入 REMI 跟 Tokenize
rConfig、從 symusic 匯入 Score,
設 config 等於 TokenizerConfig,
裡面把 num_velocities 設成十六、
use_chords 跟 use_programs 都打開,
tokenizer 等於 REMI 包住 config,
再讓 midi 等於 Score 讀進你的 MIDI 檔路徑
、tokens 等於 tokenizer 處理 midi,
還能把 tokens 丟回 tokenizer 轉回 MIDI 驗證。
I 驗證。
所以具體來說就是——我把一堆鋼琴曲的 MIDI 丟進去,
那句 num_velocities 十六就是把「按多用力」
切
成十六格,和絃跟樂器也各自標記,
最後整首曲子被切成一串像單字一樣的東西,模型才讀得懂?
對,方向完全正確。
而且他還訓練自己的詞彙表:
建好 config 跟 tokenizer 之後,
拿你自己收集的 MIDI 路徑清單呼叫 tokenizer.
train(vocab_size=30000,
files_paths=files_paths),
再 tokenizer.
save 存檔,
也可以 tokenizer.
push_to_hub 丟到 Hugging Face 分享。
ugging Face 分享。
那後面那個 DPO 呢?
我只知道它是讓模型「往好的方向調」
,
但好是誰說了算?
拿兩段接續給人聽,人指出哪一段比較順耳,
訓練就把模型往順耳那段的寫法推、另一段的機率壓下去。
實作很短:裝 trl 套件,
從 trl 匯入 DPOTrainer、
從 datasets 匯入 load_dataset,
接著呼叫 DPOTrainer,
model 指定 Qwen 二點五 的零點五 B 指令版這個
模型,
train_dataset 用 load_dataset 載
入 trl-lib 那份 ultrafeedback binarized 的訓練集,
arized 的訓練集,
然後 trainer 點 train。
懶得寫程式就終端機一行:先打 trl dpo,
model_name_or_path 指定 Qwen 二點五
的零點五 B 指令版這個模型,
dataset_name 指定 trl-lib 那份 ultrafeedback binarized 資料集。
rafeedback binarized 資料集。
一行就能跑?
那我家那張破顯卡會不會直接爆掉⋯⋯
會,不過這類情況常見的做法就是縮小每次餵進去的批次、
改用梯度累積,等於一次只餵少少幾筆進去、
累積幾次再更新一次權重,記憶體撐得住、
效果跟一次餵一大批差不多。
喔——所以是把一大口拆成八小口慢慢吞,胃小的人也吃得完。
那社群反應好嗎?
兩極。
Hacker News 上有人覺得效果不錯、
稱讚這點子;pil0u 說他接觸 AI 這麼多年,
還是被這個 App 驚艷到;noman-land 更狠,
說這是第一個真正有潛力產出優美旋律的 AI 音樂作品;
tom_vidal 則說自動補全這概念,
其實跟古典作曲家的訓練方式有相通之處。
那罵的呢?
我猜一定有人氣炸。
bubblegumcrisis 強烈反感,
說這助長人們不願意真正學樂器;
ghm2199 覺得讓機器生成音符是剝奪即興演奏的樂趣;
rajivayyangar 質疑效果沒比簡單的馬可夫模型好多
少;tescreal 說這只是新奇小把戲,
而且很多人對 AI 進藝術本來就特別反感。
我的立場很明確:
我覺得這篇的價值不在音樂,在於它把「一個人、十四次實驗、
端上手機」
這條路整套公開,這是今年少見誠實的技術文。
那我直球問——AI 幫你把旋律接完,這還算你的創作嗎?
還是根本就是作弊?
要我說,這跟 IDE 幫你補完函式名沒兩樣。
你決定要往哪走、
它幫你打字。
真的作弊是你按兩個音就掛名作曲家——
那不是工具的問題,是你的問題。
那 rajivayyangar 說「沒比馬可夫模型好多少」
,
是不是打臉整篇?
花這麼大力氣搞 transformer 有意義嗎?
我認為那句話有一半對、一半不重要。
短接續確實聽起來像,
但真正差別在能在 iPhone 上即時跑到每秒一百零八個音符
還不失控——工程難度在那裡,不在炫技。
那這則跟我這種不彈琴的普通上班族,有關嗎?
我要做什麼?
對你的一句話結論是——一個人、一支手機、十四次實驗,
就能把一個能即時創作的 AI 塞進口袋、還免費送出來,
這代表「AI 一定要連雲端」
這件事正在鬆動,
你以後很多 app 會在斷網時照樣聰明。
行動上:
一般人知道這個風向就好、什麼都不用做,
這則純粹是給你一個很酷的談資,
下次有人說 AI 一定要燒大機房,你可以講這個例子;
要更積極的兩種人——會彈琴或做音樂的,去玩玩看,
App 叫 RollTab、免費,彈四個音聽它接;
想學微調的工程師,
回去查一下 miditok 跟 trl 這兩個套件,
照他那段 DPOTrainer 的程式碼跑一次,
你就懂偏好訓練到底在幹嘛。
第二則。
換個方向。
有個 Hacker News 使用者 simonw 講了一句
很嗆的話——「自我改進的說法具誤導性,那只是訓練流程、
不是推理時的自我迭代。
」
他在酸的,
就是今天要講的 Ornith-1.
5 開源模型家族。
等等——先講一下這家族到底是什麼?
我完全沒聽過欸!
三種規模:九十億參數的密集模型,
還有三百五十億跟三千九百七十億參數的 MoE 混合專家架構(
就像一間公司裡養了很多不同科的師傅,每次來一張單子,
只叫其中兩三個相關的師傅出來做,其他人在旁邊休息,
所以人很多但每次真正動工的很少,跑起來就省電又快)。
官方宣稱推理、agentic(意思是它不只回你一段話,
而是能自己一步一步動手,像助理自己去翻資料、自己打開工具、
做完一件事再接著做下一件)、寫程式的表現,
媲美 Claude Opus 4.
8。
而且——
全部 MIT 授權,商業用途不受限。
你可能會問「MIT 授權?
?
所以就是⋯⋯
我開公司拿去賣錢也沒人管?
」
——對。
就是這個意思。
而且 FP8、GGUF、MLX、
NVFP4 量化格式(把原本又大又精細的模型檔案壓成比較粗略
的版本,就像把無損音樂壓成小一點的檔,
聽起來差不多但容量小很多,普通電腦才塞得下)全給,vLLM、
Ollama 這些推理框架(可以想成播放器,
模型檔案本身只是一堆資料,要有這種程式把它讀起來、
讓你能打字問問題)也火速接上了。
你可能會問「那它主打的「端到端自我改進」
(意思是從頭到尾整
套流程都不用人插手,出題、練習、批改、進步全部自己來,
像一個學生自己買參考書、自己出考卷、自己訂正,
家長完全不用管)呢?
聽起來很科幻⋯⋯
是說 AI 自己教自己?
」
——流程是:模型自己提出新任務,
自己產生對應的任務鷹架(就是先幫這題搭好一個解題架子,
寫清楚第一步要做什麼、第二步要做什麼、答案長什麼樣才算對,
像蓋房子前先搭的那層鷹架,蓋好就拆掉),
再用強化學習(做對了就給糖、做錯了就沒糖,
反覆練幾百萬次之後它自己摸出哪種做法會拿到糖,
像訓練狗學動作那樣)跑出解答、從解答裡學。
等於不斷幫自己造新的訓練經驗,
把前代 Ornith-1.
0 的自我鷹架策略擴成完整迴圈。
喔——所以具體像是,它自己出一份考卷、自己搭好答題的步驟表,
然後自己寫十遍、挑寫得最好的那遍當教材餵回去?
方向對。
更精準說,強化學習(做對就給糖、做錯就沒糖,
一直反覆練到它自己抓到訣竅)是靠獎勵訊號(就是每寫完一次會被
打一個分數,分數高的做法以後就多做,分數低的就少做,
像遊戲裡每過一關跳出來的得分)評分,
不是「挑最好那遍」
這麼直覺,但精神就是自己造題自己練。
那我這種普通工程師,實際怎麼跑起來?
很難嗎?
最懶的一行:在終端機打 ollama run,
後面接 ornith 一點五 的九十億參數版本。
想用 llama.
cpp 就執行 llama-server,
指定 Hugging Face 上 ornith ai 帳號
底下、Ornith 一點五 九十億參數的 GGUF 版本,
連接埠設八千。
Python 端用 Transformers 的 AutoProcessor 跟 AutoModelForMultimodalLM,
rocessor 跟 AutoModelForMultimodalLM,
from_pretrained 指到 ornith ai 帳
號底下的 Ornith 一點五 九十億參數版本,
device_map 設 auto。
那如果我要架成服務給整個團隊用呢?
用 vllm serve 起 ornith ai 帳號底下的
Ornith 一點五 九十億參數模型,
參數加上 max-model-len 設二十六萬兩千一百四十
四、
gpu-memory-utilization 設零點九零、
enable-prefix-caching(把每次對話開頭那
段一模一樣的內容算過一次就先存起來,
下次再遇到同樣開頭就直接拿來用,不用重算,
像便利商店先把常賣的關東煮煮好放著)、
enable-auto-tool-choice、
tool-call-parser 選 qwen3_xml、
reasoning-parser 選 qwen3,
再加 trust-remote-code。
或者用 SGLang 啟動 launch_server,
model-path 指到 ornith ai 帳號底下的
Ornith 一點五 九十億參數版本,
context-length 設二十六萬兩千一百四十四,
mem-fraction-static 設零點八五。
架好之後用 OpenAI 的 SDK 打本機位址、
連接埠八千的 v1 路徑,
api_key 填 EMPTY 就好,
取樣參數 temperature 設零點六、
top_p 設零點九五。
這麼順⋯⋯前代 397B 那隻也一樣跑法嗎?
前代範例是用 vllm serve 起 deepreinfo
rce ai 帳號底下的 Ornith 一點零 三千九百七十
億參數版本,
再加 tensor-parallel-size 設八(意思是
這個模型太大一張顯示卡裝不下,就把它切成八份分給八張卡,
八張卡同時算再把結果拼回來,像一份大工程分給八個人一起做),
取樣建議 temperature 設零點六、
top_p 設零點九五、top_k 設二十。
我的立場:
這種一行指令就能本機跑、又 MIT 授權的,
我覺得比任何 benchmark 數字都值錢。
但社群真的買單嗎?
我不太信官方自己講的話欸⋯⋯
正反都有。
但反面很兇——
kennywinker 質疑團隊在強化學習(讓模型自己一直練
、做對給糖做錯不給,
慢慢練出本事的那套訓練方式)訓練過程的透明度。
那我直接問尖銳的——
他們是不是根本只是拿 Qwen 或 Gemma 基底去針對
benchmark 優化,然後包裝成「自我改進」
?
社群先前對 Ornith 一點零 就有這個質疑,
到了 一點五 也還沒散掉。
要我說,
我站 simonw 那邊——「自我改進」
這詞行銷成分太重,
它是訓練流程,不是模型上線後還會自己變聰明。
但我也認為,
包裝歸包裝,權重真的丟出來給你 MIT 隨便用,
這誠意勝過九成只發論文的團隊。
那第二個問題——
開源都追到宣稱媲美 Claude Opus 4.
8 了,
那些一年繳幾萬塊訂閱費的公司,是不是被當盤子?
我認為還不到。
宣稱歸宣稱,
v3ss0n 那個長對話工具呼叫幻覺就是致命傷——
真正的 agentic工作流最吃的就是穩定度。
我的判斷是:
開源負責把價格天花板打下來,閉源負責可靠度,短期內兩邊都活。
那這則跟我這種不寫 code 的普通上班族,有關嗎?
我要做什麼?
對你的一句話結論是——
以後公司內部那種要吃機密資料的 AI 助理,
可以完全跑在自家電腦裡、不用把資料傳出去,
這代表「怕外洩所以不能用 AI」
這個藉口正在消失,
你們公司導入 AI 的速度會變快。
行動上:一般上班族,
知道這個風向就好、什麼都不用做,順便幫你擋一件事——
別看到開源就衝去買高階顯卡跑本機模型,
社群實測長對話還會出包,省下你一筆硬體錢。
要更積極的有兩種——如果你是工程師,去玩玩看,
在終端機打 ollama run,
後面接 ornith 一點五 的九十億參數版本,
十分鐘就知道值不值;如果你在法務、醫療、
金融這種資料不能外流的產業當 PM,回去查一下,
問你們技術部門有沒有評估過本機開源模型這條路。
第三則。
想像一下這個畫面——你打開 ChatGPT,
貼上那套你已經用到滾瓜爛熟的剪片指令,
結果出來的東西又有點怪,你又要手動修。
在 2026 年八月十九號,
The Rundown 這個專門教人用 AI 工具的教學網站
,就丟出一篇教學,叫 Loop

來源:transcript.txt

本次執行流程與問題處理

  1. 下達指令

    指令:videonote https://youtu.be/-bQg1z-GaBE?si=rcXxBkUFZccD6pWF --language zh --adopt-source-subtitles

    來源:https://youtu.be/-bQg1z-GaBE?si=rcXxBkUFZccD6pWF

    辨識語言:zh | 參數:--language zh --adopt-source-subtitles

  2. 預期流程

    依指令產生的處理順序:

    1. 採用來源字幕(略過語音辨識)
    2. 來源選擇與品質檢查
    3. 文字校正與句子單元
    4. 筆記與發布
    5. 公開網頁發布
  3. 1. 下載與語音辨識

    工具:videonote-transcribe-url(主辨識管線:下載、Whisper 辨識與選稿)

    處理:下載音訊、以 Whisper 辨識並選出最佳逐字稿

    產出:yt_dlp_meta.json(影片元資料)、audio_16k_mono.wav(16kHz 單聲道音訊)、transcript.whisper.json(Whisper 辨識結果)、transcript.json(正式逐字稿)、transcript_selection_report.json(來源選擇報告)

    耗時:5.5 秒

    關係:依序執行

    結果:完成

  4. 2. 全文快速校讀

    工具:videonote_rapid_transcript_review.py

    處理:先速讀完整逐字稿,再修正高可信突兀詞句並列出待確認項目

    產出:rapid_transcript_review_report.json(產出檔案)

    耗時:45.2 秒

    關係:依序執行

    結果:完成

  5. 3. 建立句子單元

    工具:videonote-build-sentence-units

    處理:將逐字稿切成帶時間軸的句子單元

    產出:sentence_units.json(句子單元)

    耗時:0.3 秒

    關係:依序執行

    結果:完成

  6. 4. 時間軸稽核

    工具:videonote_timeline_audit.py

    處理:檢查時間軸與音訊對齊

    產出:timeline_audit_report.json(時間軸稽核)

    耗時:0.3 秒

    關係:依序執行

    結果:完成

  7. 5. 品質檢查

    工具:videonote_controlled_quality.py(檢查時間軸與品質)

    處理:檢查語言、時間軸與可讀性品質

    產出:controlled_quality_report.json(品質報告)、language_sanity_report.json(語言檢查)

    耗時:0.3 秒

    關係:依序執行

    結果:完成

  8. 6. 播放時間軸回填

    工具:videonote_rebase_display_timeline.py

    處理:將網頁播放時間軸回填為校正字幕時間

    產出:display_timeline_rebase_report.json(時間軸回填報告)

    耗時:0.4 秒

    關係:依序執行

    結果:完成

  9. 7. 來源句整理

    工具:videonote_prepare_source_entries.py

    處理:整理來源句子供時間軸與頁面使用

    產出:sentence_units.json(句子單元)

    耗時:0.4 秒

    關係:依序執行

    結果:完成

  10. 8. 生成筆記摘要

    工具:videonote-generate-note(生成筆記摘要)

    處理:生成筆記摘要與重點

    產出:note.md(筆記 Markdown)、note.html(筆記 HTML)

    耗時:205.5 秒

    關係:依序執行

    結果:完成

  11. 9. 建立筆記頁面

    工具:videonote-render-html(產生筆記 HTML)

    處理:產生可閱讀的筆記 HTML 頁面

    產出:note.html(筆記 HTML)

    耗時:0.6 秒

    關係:依序執行

    結果:完成

  12. 10. 發布公開頁面

    工具:videonote-publish(發布公開頁面)

    處理:發布到公開網站與每日列表

    產出:公開筆記網址、result.json(管線結果)

    耗時:0.7 秒

    關係:依序執行

    結果:完成

手動來源字幕

自動來源字幕

Whisper 字幕

Qwen 字幕

Parakeet 字幕

MOSS 字幕

聲學時間證據(PyAnnote / WhisperX)

校正前後逐字稿

目前待解決問題與初步改善方向

進一步精進字幕與筆記
使用 Workbench 上傳校正字幕、中文參考稿或回饋 SRT,重新產生雙語與學習單元。
開啟 Workbench