更新於 2020/04/08閱讀時間約 2 分鐘

初探 BERT 的使用方式

感覺把 BERT tune 到可以弄成 BB-8 或是哈囉應該會蠻不錯的
最近因為武漢肺炎進行了一些奇怪的研究,見證了同事如何在短時間內建構出強大的 model 可以在論文海裡面找出一些很不錯的內容來回答一些專業的問題,決定開始抽出時間來努力嘗試駕馭這項強大的武器,BERT 問世其實已經一段時間了,自從 Google 在約莫兩年前放出這個模型之後在自然語言處理的領域造成了很大的漣漪效應,因為站在巨人肩膀上的這個基礎讓很多原本不容易做到堪用程度的自然語言處理任務一下子提升了一個檔次,主要應用在文本產生(text generation)、問題回答(question answering)以及跨語言的文意理解幾個領域,如果想要快速了解到底發生了什麼事情,非常推薦把以下李弘毅教授的兩個影片看完,可以先看第一個,如果沒有 transformer 的基礎再去看第二個補完:
經過一段時間的發展,基本上現在用 BERT 做出來的 model 都可以輕鬆的在各大自然語言處理任務的排行榜上屠殺四方,目前最成熟的套件之一當屬 Python 的 transformer,基本上把很多主流最強最猛的 model 都直接包進來了,可以非常無痛的直接上手使用,另外也包了 pipeline 可以非常快速的啟動簡單的任務,一開始看起來會覺得很龐雜,但使用起來是十分舒服的。
今天大概花了半小時的時間看了一下原始碼裡面 pipeline 是怎麼寫的,大致上對於question answering 的運作有個初步的概念,基本上就是先把問題映射到詞彙的輸入空間,然後去計算完輸出層的值之後去找到答案的頭跟尾,然後再映射回來對應的內容,中間注意力跟權重那些怎麼運作其實都可以不用管就可以用了,下面是一個 colab 的簡單範例,只需要 6 行程式碼就可以開始玩玩可以回答你任何奇怪問題的 AI,順手隨便找了一篇關於 Zoom 的文章問問看替代品是什麼,結果答案是 Skype hmm...
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.