利用 Large Language Model (LLM) 審閱 iThome 鐵人賽投稿 – (1) 努力過的人都是戰士
我很榮幸可以擔任 2023 iThome 鐵人賽的評審,這是我嘗試使用 LLM 審閱投稿的過程紀錄。
首先要恭喜 2023 iThome 鐵人賽的參賽者們,努力過的人都是戰士!
iThome 鐵人賽是一項流行的資訊科技挑戰賽,主要在台灣舉行。這個賽事旨在鼓勵參與者連續多日發布關於特定技術主題的文章,通常為期一個月。它是由台灣知名的科技媒體 iThome 所主辦,吸引了來自各個層面的專業人士和技術愛好者參加。
鐵人賽的核心目標是促進知識分享和學習,挑戰參賽者在短時間內持續產出高質量的內容。這不僅幫助參賽者個人的專業成長,還為整個社群提供了一個學習和交流的平台。
參賽者可以選擇各種技術主題,如程式設計、資料科學、人工智慧、網路安全等。每年的賽事都會吸引大量關注,並在台灣科技社群中引起熱烈討論。這個賽事不僅促進了專業技能的交流,也加強了參與者之間的聯繫。
– ChatGPT
感謝 iThome 副總編輯宏仁哥的邀請,我今年很榮幸地可以擔任 2023 iThome 鐵人賽的評審。在七月接受邀請的時候,我聽說每個評審大概需要審閱 30 到 50 位參賽者的作品。我想說每位參賽者的 30 篇文章,也就是大約 1,500 篇。可以貢獻回饋、不佔用太多時間,還可以享受跟社群大大們共同擔任評審的樂趣。
Happy Problem
俗話說「沒有奇蹟,只有累積」,iThome 鐵人賽舉辦了十五屆,今年的參賽人數跟完賽率都是歷年之冠。我查詢了過去幾年的資料:
- 2018: 143 / 359 (39.83%)
- 2019: 264 / 523 (50.48%)
- 2020: 381 / 812 (46.92%)
- 2021: 572 / 1087 (52.62%)
- 2022: 552 / 993 (55.59%)
- 2023: 656 / 1123 (58.41%)
iThome 鐵人賽的比賽辦法特別註明「本競賽可使用生成式人工智慧等新興科技」(給讚 👍)。我今年審閱的部分稿件都有使用 LLM 的痕跡,我認為 LLM 讓大家更容易創作,也提升了完賽率。
拿到 iThome 提供的資訊時,我發現被分配了 173 份系列文章,總共高達 5,732 篇(吸一口涼氣)。我怎麼沒聽說評審也要參加鐵人賽?
主辦單位非常貼心,透過人工初審及統計方法,幫我先篩選出 53 份系列文章,不過也提供完整的 173 份連結。但是我隨機點閱之後,發現有些遺珠之憾。因為「努力過的人都是戰士」,而戰士應被尊重。所以若時間允許,我打算將這 173 份系列文章都看一遍。
但是我只有 20 天(包含假日)的時間可以審閱,怎麼看呢?
I have an idea
身為一名 Generative AI 的傳教士,我經常思考如何運用各種 AI 工具來革新我們的工作方式。例如,OpenAI 的 GPT 和 Anthropic 的 Claude 這類 LLM,它們的強大之處不僅僅在於能夠基於文本生成新的文本。更關鍵的是,它們能夠處理複雜的語言結構,並且理解上下文,進行邏輯推理後輸出結果。這樣的能力使得過去難以自動化的任務變得可行。
現在,讓我們來想像一種新的可能性:利用 LLM 來閱讀文章、撰寫摘要和評論、檢查錯誤,甚至依照特定標準進行評分。這不僅會極大地提升工作效率,還會開創全新的工作模式。
我預期的執行步驟包括:
讓 LLM 閱讀每篇文章,提供摘要、評論,並檢查其中的錯誤。這一步可以用不同類型的文章來測試,以確保準確性。
將這些資訊彙整成一份綜合報告。
基於彙整的資訊和既定的評分標準,讓 LLM 進行評分並撰寫評語。
重複上述步驟,直到完成對所有系列文章的處理。
在這個過程中,我的角色類似一位副駕駛,在旁邊喝咖啡看風景,覆核最後的結果。這樣不僅提高效率,還能確保工作的一致性和客觀性。
Validate
我們首先利用 ChatGPT (with GPT-4) 來驗證「用 LLM 閱讀文章,提供摘要、評論,並檢查其中的錯誤」的可行性。我在十月底進行這個測試,當時 ChatGPT 已更新知識至 2023 年 4 月,我對測試效果感到非常滿意。
我撰寫了一個簡單的 prompt 並將文章內容複製貼上:
請作為一個技術編輯,幫我檢查這篇文章是否有技術錯誤的地方。請用繁體中文、台灣用語回答:
title: [文章標題]
text:
[內文]
我選了今年 iThome 鐵人賽冠軍作品「LLM 學習筆記」中的一篇文章「LLM Note Day 17 - vLLM & Paged Attention」作為示範案例,具體操作步驟可以看我的 ChatGPT 對話範例。結果如下:
在這篇文章中,作者介紹了 vLLM(一種推論框架)和 Paged Attention 技術,並探討了它們在處理大型語言模型(LLM)時的優勢,特別是在記憶體管理和效率方面。以下是對文章的一些技術評論:
vLLM 和 Paged Attention 的描述:這部分看起來是正確的。Paged Attention 技術確實靈感來自作業系統的分頁記憶體管理,用以優化大型語言模型的記憶體使用效率。將 KV 快取分割成多個區塊並透過查表法進行存取,可以有效地減少記憶體的使用和提高吞吐量。
關於 Key Value Cache 的說明:這裡提到的 KV Cache 在 Transformer 架構中是很重要的一部分,用於存儲先前階段的計算結果以提高效率。文章中關於其在大型模型中可能導致的記憶體瓶頸問題的描述是合理的。
關於 vLLM 的基本用法和程式碼實例:提供的程式碼實例和基本用法看起來是合理且正確的,這些代碼應該能夠正常執行。
速度和效率的測試結果:這部分主要是基於作者的實驗和觀察,難以從技術角度進行全面的驗證。不過,提供的數據看起來是合理的,並且與 vLLM 和 Paged Attention 旨在提高效率的目標相符。
關於量化支持的討論:這裡提到的量化支持問題也是一個重要的考量點,尤其是在部署大型模型時。文章中對於目前量化技術支持有限的問題進行了合理的討論。
結論和建議:作者對於使用 vLLM 的優缺點進行了平衡的討論,並提供了對於未來改進方向的合理預測。
總的來說,這篇文章在技術上看起來是準確無誤的,並且提供了有關 vLLM 和 Paged Attention 的深入分析。
我後續對 prompt 做了一些調整,以提高分析效率。因為只把文字傳給 ChatGPT,所以有一個限制:如果文章中包含圖片、連結或影片,ChatGPT 由於無法直接查看這些內容,可能會指出有「缺少圖片/連結/影片」等問題。
修改後的 prompt:
使用繁體中文、台灣用語。以技術編輯的角度,
撰寫摘要。
檢查是否有技術錯誤的地方,有的話提供列表,沒有的話回答「無」即可。
提供簡短評語。
Response format:
摘要:摘要
評語:評語
技術錯誤:技術錯誤列表
以下是文章內容:
title: [文章標題]
text:
[內文]
驗證成功! 🎉
這是系列文章的第一篇,歡迎繼續閱讀:
Keep up the good work!