本文為社群成員 Jun Chen 為 百姓 AI 和 Hugging Face 聯合舉辦的駭客鬆所撰寫的教學檔案,歡迎你閱讀今天的第二條推播瞭解和參加本次駭客鬆活動。文內含有較多連結,我們不再一一貼出,請 點選這裡 檢視渲染後的 Notebook 檔案。
隨著人工智慧和大模型 ChatGPT 的持續火爆,越來越多的個人和創業者都想並且可以通過自己建立人工智慧 APP 來探索這個新興領域的機會。只要你有一個想法,你就可以通過各種開放社群和資源實現一些簡單功能,滿足特定領域或者使用者的需求。
試想現在有一部新的電影剛剛上線了,我們和朋友在家熱烈的討論著這部新的電影,這些都是非常有價值的電影評價的資訊,不過估計這個時候很少有人會特地去登陸自己的豆瓣賬號再去發表這些剛剛的評論,如果有一個電影評論機器人可以自動收集這些評論並且根據評論打分,然後自動上傳到制定的電影評論網站呢?再比如,我們在某個餐廳吃飯,我們只用對著手機說幾句話,我們的評分就自動上傳到大眾點評呢?我們來試試如何實現這樣一個小小的機器人吧!
在本教學中,我們將探索如何使用 Hugging Face 資源來 Finetune 一個模型且構建一個電影評分機器人。我們將向大家展示如何整合這些資源,讓你的聊天機器人具備總結評論並給出評分的功能。我們會用通俗易懂的語言引導你完成這個有趣的專案!
為了可以簡單的說明實現的步驟,我們簡化這個【電影打分機器人】的實現方法:
input
的 text
作為輸入,有興趣的小夥伴們可以研究一下如何接入到語音,Whisper to ChatGPT 是一個很有好的例子。首先我們需要一個可以看懂評論且給評論打分的模型,這個例子選用的是利用資料集 IMDb 微調 DistilBERT,微調後的模型可以預測一個電影的評論是正面的還是負面的且給出評分(五分滿分)。
當然大家可以根據各自的需求找到不同的資料集來 Finetune 模型,也可以使用不同的基礎模型,Hugging Face 上提供了很多可選項。
本任務使用或間接使用了下面模型的架構:
ALBERT, BART, BERT, BigBird, BigBird-Pegasus, BLOOM, CamemBERT, CANINE, ConvBERT, CTRL, Data2VecText, DeBERTa, DeBERTa-v2, DistilBERT, ELECTRA, ERNIE, ErnieM, ESM, FlauBERT, FNet, Funnel Transformer, GPT-Sw3, OpenAI GPT-2, GPT Neo, GPT-J, I-BERT, LayoutLM, LayoutLMv2, LayoutLMv3, LED, LiLT, Longformer, LUKE, MarkupLM, mBART, Megatron-BERT, MobileBERT, MPNet, MVP, Nezha, Nyströmformer, OpenAI GPT, OPT, Perceiver, PLBart, QDQBert, Reformer, RemBERT, RoBERTa, RoBERTa-PreLayerNorm, RoCBert, RoFormer, SqueezeBERT, TAPAS, Transformer-XL, XLM, XLM-RoBERTa, XLM-RoBERTa-XL, XLNet, X-MOD, YOSO
# Transformers installation
! pip install transformers datasets evaluate
# To install from source instead of the last release, comment the command above and uncomment the following one.
# ! pip install git+https://github.com/huggingface/transformers.git
在使用本範例前請安裝如下庫檔案:
pip install transformers datasets evaluate
我們建議登陸 Hugging Face 賬戶進行操作,這樣就可以方便的上傳和分享自己建立的模型。當有彈框時請輸入個人的 token 。根據下圖找到我們自己的 Hugging Face Tokens。
from huggingface_hub import notebook_login
notebook_login()
Token is valid.
Your token has been saved in your configured git credential helpers (store).
Your token has been saved to /root/.cache/huggingface/token
Login successful
開始從 Datasets 庫中載入 IMDb 資料集