Open Tseng-Yi-Chung opened 3 years ago
您好,repo中的確不包含fine tune程式碼 主要原因是因為huggingface已經有提供範例了,因此就不再重複造輪子 https://github.com/huggingface/transformers/tree/master/examples/question-answering 可以簡單的將你的資料集整理成SQuAD就可以fine-tune模型
另外如果只是要簡單的落地應用,推薦看一下piplines,現在huggingface都包的很好 https://github.com/huggingface/transformers/blob/master/notebooks/03-pipelines.ipynb
如果有不瞭解或是想深入討論可以再寄信問我
Philip
Tseng-Yi-Chung notifications@github.com 於 2020年12月17日 週四 下午4:55寫道:
大大,請問一下,我沒有看到您的程式當中有fine tune的程式碼,只有看到您把資料傳到模型裡面,並不理解這過程當中是如何fine-tune的,可否告知,感謝。
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/p208p2002/bert-question-answer/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD7RWBUZWLXVMVVY7WWWW4DSVHBOZANCNFSM4U7IX5UQ .
如果是想從頭建立fine tune可以參考我的另外一個repo 雖然這個repo實際上做的是句子分類,但是還是可以幫助你了解如何進行fine tune https://github.com/p208p2002/taipei-QA-BERT
您好,不好意思想請教一下,huggingface在QA這邊 : https://huggingface.co/docs/transformers/tasks/question_answering 使用的是 DistilBERT ( https://huggingface.co/distilbert-base-uncased ),如果將其更換成Bert-base-chinese是否可行呢?
A1. 可以參考一下這邊 https://github.com/huggingface/transformers/tree/main/examples/pytorch/question-answering
A2. 應該是沒問題的,兩個模型的架構與special token是相同的
好的! 感謝您的回覆~
不好意思 我想問一下 在pip install -r requirements.txt的時候它出現了ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt' 請問該如何解決
謝謝您的答覆~~
不好意思大大我想再問一下 當執行的結果出現 AttributeError: 'str' object has no attribute 'detach' 請問該如何解決呢?
方便的話麻煩附上能呈現錯誤的最小程式碼以及
bertQA = BertQA(model = model, tokenizer = tokenizer, device = device) context="大同國小有三個職員,王大明是校長,張小美是秘書,陳小玉是總務長"
question = "誰是校長" answer_results = bertQA.ask(context,question)
question = "陳小玉的工作是什麼" answer_results = bertQA.ask(context,question)
我是把您放在外面的這段程式碼放進example.py使用但不知道這樣是不是正確的使用方式
python version 3.10.8 64-bit transformer version 22.2.2 torch version 1.12.1+cpu
由於這個專案目前許久沒有維護 請使用transformers==2.5.1 我剛剛測試是沒問題的
另外我剛剛也稍微更新了一下算分方式 原本是直接使用 start_logit+end_logit的方式 不過使用start_prob*end_prob才是更好的
另外現在transformers有推出pipeline會是更好的使用QA模型方式,強烈推薦看一下 這個專案主要是用一個最小化示範的方式來理解answer span是怎麼被pick出來的 https://huggingface.co/docs/transformers/main_classes/pipelines#transformers.QuestionAnsweringPipeline 有任何問題也歡迎提出討論
好 我會再試試 再次感謝大大的回覆~
大大,請問一下,我沒有看到您的程式當中有fine tune的程式碼,只有看到您把資料傳到模型裡面,並不理解這過程當中是如何fine-tune的,可否告知,感謝。