序
自然語言處理是目前人工智慧領域中最受人矚目的研究方向之一,發展非常迅速。自然語言處理又是一個非常開放的領域,每年都有大量的可以免費閱讀的論文、可以自由下載和使用的開原始程式碼被發佈在網際網路上。感謝這些致力於自然語言處理研究,又樂於分享的研究者和開發者,使我們有機會學習這一領域最新的研究成果,理解自然語言處理領域中的精妙原理,並能夠在開原始程式碼函式庫的基礎上建立一些美妙的應用。
如果沒有他們的努力和奉獻,無法想像我們僅僅透過兩行程式 ,就能在幾秒內定義和建立一個包含超過1億參數的模型,並下載和載入預訓練參數(耗時數分鐘,具體時間根據網速而定)。這些預訓練參數往往是使用性能強大的圖形處理單元(Graphics Processing Unit, GPU)在巨量的資料中訓練數天才能得到的。
即使擁有性能強大的GPU,要獲取巨量訓練資料,或者進行長時間的訓練也都是困難的,但是借助公開發佈的預訓練權重,僅僅需要兩行程式就都可以做到。同時還可以在能接受的時間內對模型進行Fine-tuning(微調)訓練,載入與訓練參數後,再使用目標場景的資料訓練,使模型更符合實際的應用場景。
如果你沒有 GPU,或者只有一台性能一般的家用電腦,也完全可以比較快速地使用模型去完成一些通用的任務,或者在一定的資料中訓練一些不太複雜的模型。
自然語言處理越來越豐富的應用正在改變我們的生活。從語音合成、語音辨識、機器翻譯,到視覺文字聯合,越來越精確的自然語言理解讓更多事情成為可能。現在的人工智慧技術使電腦可以用越來越接近人類的方式去處理和使用自然語言。
更令人興奮的是,這些事情我們也可以借助開原始程式碼去實作,並根據大量公開的論文、文件和範例程式去理解程式背後的原理。