語言模型的物理學 Physics of Language Models - ICML 2024 Tutorial

圖片
這是一個ICML 2024的tutorial talk,同時也是 一系列的研究 ,talk的youtube link在 這裡 本篇主要把看這個talk的一些讀書筆記記錄下來,雖然實際上talks是從 3 -> 2 -> 1 這個順序去講的,但這裡仍然以投影片的順序來描述,並把講者最後的感概放在Part 1的最後。 Intro 把智慧分為1.結構、2.知識以及3.推論 在可控制、理想的環境下做研究 (控制資料、調整參數) 可重複性高的實驗 (使用100M大小的模型,推出通用法則) 使用 probing 技巧去看模型裡面如何運作 1. Language Structures 這個部分有兩個目標:  1. 大型語言模型的解讀 (interpretation of LLMs)  並不是基於token level,而是使用更困難的階層式演算法來更精確地解釋LLM如何學習解決這樣的演算法 2.大型語言模型的結構 LLM如何學習格式(format)? → hallucination(幻覺) hallucination只是LLM學習到格式的速度比底層任務快而造成的現象 希望能觀察LLM如何解決更階層式、複雜的語言架構 他們使用的方法是CFG(context-free grammar)作為課題來達成以上兩個目標 他們設計了自己的CFG,大約有20+的長度,這是一個非常長的CFG CFG會從root開始 →  leaf 完成整個推論的樹,這樣長度的CFG會非常難從最終結果回推到他們的源頭,要完全記住這些samples也不可能,因為會有10的80次方個sample  他們從三個面向來測試模型是否能學習這樣的CFGs: accuracy, diversity, distribution 如果使用相對或旋轉嵌入的位置編碼,準確度會很高,但如果是用絕對的位置編碼就會得到很差的結果 為什麼會這樣呢? 因為使用相對/旋轉的位置編碼對於語言架構的注意力來說非常有幫助 相對注意力表現比旋轉好,但相對注意力太慢了 但如果用一個GPT_stupid也可以發現不錯的表現 (這個GPT的head h會往回看2^h-1個token) 例如第一個head會往前看第1個token,第二個head往前看前3個token,第三個head往前看前7個token,這些tok...

如何得到和 Anaconda 的 Jupyter Notebook 一樣的使用者體驗但卻不需安裝 Anaconda ?

 身為一個資料科學家或是機器學習工程師,Jupyter Notebook 是必不可少的好用工具,而 Anaconda 則是在入門這個領域的時候為了減少痛苦而安裝的一個龐大軟體。

但實際上大部分時候我們只需要 Anaconda 中的 Jupyter Notebook,而不是它內含的其他東西以及Python 環境選擇 (我不如用 pipenv...),若是你像我一樣希望捨棄笨重的 Anaconda,但又希望獲得同樣的體驗,而不是每次都要打開 terminal,輸入 Jupyter Notebook 才能打開的話,這篇會是一篇適合你閱讀的文章。

Anaconda 上的體驗是怎樣的?

若是以只使用 Jupyter Notebook 為前提的話,它主要的方便在於安裝 Anaconda 之後會自動產生一個 Jupyter Notebook 的捷徑在開始工具欄,當你需要使用的時候就直接點開就好。而不用打開 terminal 打字什麼的。 (我很在意這個所以一直被 Anaconda 綁架......) 

除此之外,Anaconda 的 Jupyter Notebook 路徑是固定的,每次開啟都會在 username 那個資料夾裡面,所以我得因此被其綁架而得把所有資料和 Notebook 都放在那個資料夾裡面。

所以,接下來就要開始如何將 Jupyter Notebook 以一個有 icon 的桌面捷徑開啟而且還可以基於開啟的路徑而開啟的教學。

安裝 Jupyter Notebook

pip install notebook

建立 Jupyter Notebook 捷徑

首先要在桌面上右鍵新增 -> 建立捷徑,然後在項目位置中打入 cmd /k "jupyter notebook" ,如下圖。




然後就將捷徑命名為 jupyter notebook,或是其他你喜歡的名字,像是 AI 煉蠱場之類的。

這串項目位置的意思是當點擊這個捷徑的時候會做兩個動作 :  
1. 打開 cmd  
2. 自動打入 jupyter notebook

改變 Jupyter Notebook Icon

這步很簡單,總之就是去下載 jupyter notebook 的 icon (記得轉成 .ico 檔名),然後儲存在電腦中的某一處。接下來只要右鍵點開 -> 內容  -> 變更圖示


然後瀏覽到你剛剛存的 icon 就可以把 icon 改掉了。


讓 Jupyter notebook 以當前處在的路徑打開

右鍵點開內容,然後把開始位置改變成 %cd% 就可以了,如下圖。



到這裡你已經擁有一個可以透過 icon 捷徑打開的 Jupyter Notebook,而且打開的時候可以根據那個捷徑當下所在位置去打開

恭喜你不會再被 Anaconda 綁架,不需要將 Notebook 都放在同一個地方,而是只需要把 Jupyter Notebook 的捷徑複製一個丟到你想放 Notebook 的地方就好

References

留言

這個網誌中的熱門文章

機器學習競賽王者演算法:XGBoost、LightGBM、CatBoost

十種常見的軟體架構模式 10 Common Software Architectural Patterns

為什麼只能在訓練資料上平衡不平衡的資料集? Why should you deal with an imbalanced dataset only on training data?