本發(fā)明涉及自然語言處理,特別是涉及一種計算機組成原理課程輔助問答方法、設備及介質(zhì)。
背景技術(shù):
1、隨著人工智能技術(shù)的快速發(fā)展,大語言模型(large?language?models,?llms)已逐漸成為自然語言處理領域的高效解決方案。這類模型通過在海量多領域文本數(shù)據(jù)上進行預訓練,掌握了豐富的語言知識與通用推理能力,能夠適應多種下游任務的需求。例如,chatglm3-6b等開源模型已在通用問答、文本生成等場景中展現(xiàn)出良好性能。
2、然而,盡管大語言模型具備較強的泛化能力,但其在高度專業(yè)化、知識密集型的垂直領域——如計算機組成原理這樣的專業(yè)課程中——仍存在顯著局限性。計算機組成原理課程內(nèi)容體系復雜,既包含cpu結(jié)構(gòu)、指令系統(tǒng)、存儲層次、總線控制等抽象理論,又涉及基于硬件描述語言或?qū)嶒炂脚_的動手實踐,學習門檻較高。當前通用大語言模型在應對該領域具體問題時,往往難以保證答案的準確性與針對性,容易產(chǎn)生信息缺失、表述模糊或與課程教學重點不符的回復,無法有效支撐學生的預習、復習、課程設計及實驗調(diào)試等學習環(huán)節(jié)。
3、當前若希望大語言模型深度融合某一領域的專業(yè)知識,通常需從頭開始進行大規(guī)模領域數(shù)據(jù)預訓練,但這需要高昂的算力成本、長時間的訓練周期以及高質(zhì)量的領域語料庫,對于大多數(shù)教育機構(gòu)或研究團隊而言并不現(xiàn)實。因此,如何在現(xiàn)有通用大語言模型的基礎上,通過高效、低成本的方式使其適配特定領域的知識體系與任務要求,成為當前亟待解決的技術(shù)問題。
4、目前,尚缺乏專門針對計算機組成原理課程知識體系進行有監(jiān)督微調(diào)并融合檢索機制的大語言模型應用方案,現(xiàn)有技術(shù)在該垂直領域的深度適配、知識準確性與教學針對性方面仍有明顯不足。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的是提供一種計算機組成原理課程輔助問答方法、設備及介質(zhì),旨在解決或改善上述技術(shù)問題中的至少之一。
2、為實現(xiàn)上述目的,本發(fā)明提供了如下方案:
3、一種計算機組成原理課程輔助問答方法、設備及介質(zhì),包括:
4、收集計算機組成原理課程的相關數(shù)據(jù),并進行清洗、格式轉(zhuǎn)換和多輪對話格式整理,形成用于訓練的問答數(shù)據(jù)集;所述相關數(shù)據(jù)包括在線咨詢數(shù)據(jù)、專業(yè)教材、題庫、實驗手冊及代碼樣例;
5、基于所述問答數(shù)據(jù)集,采用lora方法對chatglm3-6b模型進行有監(jiān)督訓練,生成適用于計算機組成原理課程問答的增量權(quán)重,并將訓練好的語言問答模型保存至本地;
6、利用語義向量模型將課程相關文檔和問題向量化,搭建文本向量知識庫;所述文本向量知識庫包括支持用戶上傳和更新文檔的向量數(shù)據(jù)庫以及支持代碼檢索與問答的自定義知識庫;
7、基于langchain-chatchat框架提供webui界面,支持用戶根據(jù)問題類型選擇問答模式,包括基于微調(diào)大模型的對話模式以及基于知識庫的檢索問答模式;所述langchain-chatchat框架用于載入所述訓練好的語言問答模型。
8、可選地,所述收集計算機組成原理課程的相關數(shù)據(jù),并進行清洗、格式轉(zhuǎn)換和多輪對話格式整理,形成用于訓練的問答數(shù)據(jù)集,具體包括:
9、利用爬蟲代碼采集線上平臺的計算機組成原理課程問題咨詢數(shù)據(jù),并收集課程相關的電子書籍、考試題目、實驗指導書和實驗項目的代碼樣例;
10、利用pandas庫對線上平臺的數(shù)據(jù)進行數(shù)據(jù)清洗,去除無關字符、標點符號和html標簽,對缺失數(shù)據(jù)進行填充,在停用詞處理后進行數(shù)據(jù)格式化,并保存為計算機組成原理課程問答數(shù)據(jù)集的csv或txt格式。
11、可選地,所述基于所述問答數(shù)據(jù)集,采用lora方法對chatglm3-6b模型進行有監(jiān)督訓練,生成適用于計算機組成原理課程問答的增量權(quán)重,并將訓練好的語言問答模型保存至本地,具體包括:
12、利用load函數(shù)加載所述問答數(shù)據(jù)集,讀取對話內(nèi)容構(gòu)建messages列表,源數(shù)據(jù)集沒有“system”角色,使用代碼自動添加“system”角色且必須添加在“user”角色之前,修改prompt提示詞,引導大模型模擬計算機專業(yè)課任課老師的思維方式進行訓練,并將處理后的訓練數(shù)據(jù)集轉(zhuǎn)換為json格式文件保存在本地;
13、設置相關參數(shù),將參數(shù)分為兩部分:預訓練大模型權(quán)重和微調(diào)增量權(quán)重;其中,預訓練大模型權(quán)重為chatglm3-6b大模型的權(quán)重,微調(diào)增量權(quán)重為訓練大模型過程中生成的權(quán)重更新量;在訓練過程中,設輸入數(shù)據(jù)集為x輸出為y,并令y=wx+wx,預設預訓練權(quán)重w,并使用低秩可分離矩陣a和低秩可分離矩陣b構(gòu)建參數(shù)更新量w,對新增的a和b進行訓練,將模型最終的權(quán)重更新為預訓練權(quán)重w與低秩矩陣a和b乘積的和:y=(w+ab)x;
14、將確定最終權(quán)重后的大模型轉(zhuǎn)化為經(jīng)量化后的模型文件格式,并保存至本地文件夾。
15、可選地,在將確定最終權(quán)重后的大模型轉(zhuǎn)化為經(jīng)量化后的模型文件格式之后,還包括:
16、通過tensorboardx可視化模型的loss以及特征圖,并根據(jù)損失val_loss變化趨勢曲線驗證模型效果。
17、可選地,所述利用語義向量模型將課程相關文檔和問題向量化,搭建文本向量知識庫,具體包括:
18、首先加載用戶上傳的長文本數(shù)據(jù),其次讀取長文本數(shù)據(jù)并切分成設定尺寸的段落或句子,接著通過預訓練好的語義向量模型bge-large-zh-v1.5將切分后的段落或句子進行向量化,最后建立faiss向量數(shù)據(jù)庫來存儲和檢索向量化后的文本片段,并把faiss向量數(shù)據(jù)庫保存到本地;
19、通過語義向量模型bge-large-zh-v1.5把用戶提出的計算機組成原理課程的相關問題向量化,并構(gòu)建自定義agent問答所用的文本向量知識庫。
20、可選地,所述自定義agent問答所用的文本向量知識庫基于chatglm3-6b或qwen-api構(gòu)建,具備加載和查詢本地實驗知識庫并生成代碼回答的能力。
21、本發(fā)明還提供了一種電子設備,包括存儲器及處理器,所述存儲器用于存儲計算機程序,所述處理器運行所述計算機程序以使所述電子設備執(zhí)行根據(jù)上述的計算機組成原理課程輔助問答方法。
22、本發(fā)明還提供了一種計算機可讀存儲介質(zhì),其存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上所述的計算機組成原理課程輔助問答方法。
23、根據(jù)本發(fā)明提供的具體實施例,本發(fā)明公開了以下技術(shù)效果:
24、本發(fā)明公開了一種計算機組成原理課程輔助問答方法、設備及介質(zhì),所述方法包括收集計算機組成原理課程的相關數(shù)據(jù),并進行清洗、格式轉(zhuǎn)換和多輪對話格式整理,形成用于訓練的問答數(shù)據(jù)集;所述相關數(shù)據(jù)包括在線咨詢數(shù)據(jù)、專業(yè)教材、題庫、實驗手冊及代碼樣例;基于所述問答數(shù)據(jù)集,采用lora方法對chatglm3-6b模型進行有監(jiān)督訓練,生成適用于計算機組成原理課程問答的增量權(quán)重,并將訓練好的語言問答模型保存至本地;利用語義向量模型將課程相關文檔和問題向量化,搭建文本向量知識庫;所述文本向量知識庫包括支持用戶上傳和更新文檔的向量數(shù)據(jù)庫以及支持代碼檢索與問答的自定義知識庫;基于langchain-chatchat框架提供webui界面,支持用戶根據(jù)問題類型選擇問答模式,包括基于微調(diào)大模型的對話模式以及基于知識庫的檢索問答模式;所述langchain-chatchat框架用于載入所述訓練好的語言問答模型。
25、本發(fā)明成功應用langchain-chatchat框架提供的工具和接口,迅速建立計算機組成原理課程的知識庫,后續(xù)用戶還可以根據(jù)新增的計算機組成原理課程相關文獻或輔助資料上傳更新知識庫,通過檢索知識庫給出回應,因此大大節(jié)省了針對該領域的開發(fā)時間。在langchain-chatchat中加載微調(diào)后的chatglm3-6b大模型,該模型作為開源輕量級預訓練模型部署門檻低,計算資源受限的設備也可以輕松運行。因此本發(fā)明不僅補充了計算機組成原理課程智能化教學研究的缺失,而且具有廣泛的實際應用價值。
26、本發(fā)明基于構(gòu)建的多輪對話數(shù)據(jù)微調(diào)chatglm3-6b大模型,使得該模型相較于基礎大語言模型本發(fā)明提出的方法給出的答案更符合應用場景,回答問題更簡潔且精準。
27、本發(fā)明應用langchain-chatchat框架中的webui技術(shù)運行,不僅可以直接進行大模型推理實現(xiàn)多輪問答,而且能夠融合構(gòu)建好的知識庫進一步提升模型性能,根據(jù)用戶提出的問題選擇相應的回答方式,因此為用戶解決實際問題提供了極大地便利。