LLM應用實戰: 產業治理多標籤分類

mengrennwpu發表於2024-08-20

1. 背景

許久未見,甚是想念~

近期本qiang~換了工作,處於新業務適應期,因此文章有一段時間未更新,理解萬歲!

現在正在著手的工作是產業治理方面,主要負責其中一個功能模組,即按照產業治理標準體系,針對企業介紹及其專利資料進行多標籤分類。

本期的乾貨就是分享關於如何基於LLM實現數量多、層級多的多標籤分類的實戰經驗,各位讀者可以參考借鑑。

2. 資料介紹

2.1 標籤體系

產業治理方面的標籤體系共計200+個,每個標籤共有4個層級,且第34層級有標籤含義的概括資訊。

2.2 原始資料

  1. 企業官網介紹資料,包括基本介紹、主要產品等
  2. 企業專利資料,包括專利名稱和專利摘要資訊,且專利的資料量大。

2.3 LLM選型

經調研,採用Qwen2-72B-Instruct-GPTQ-Int4量化版本,佔用視訊記憶體更少,且效果與非量化相當,具體可見Qwen2官網說明

3. 技術難點

  1. 團隊無標註人員,因此無法使用Bert類小模型完成多標籤分類任務
  2. 涉及垂直領域,即使有標註人員,也需要很強的背景知識,方能開展標註
  3. 標籤數量多,層次深,且專案對準確率有要求

4. 方案設計

由於缺少標註人員,且對標註員的背景要求高,因此只能選擇LLM進行任務開展

標籤體系中每個標籤的含義不夠具象,屬於總結性的,針對特定場景,LLM可能無法準確分類。因此,可以考慮抽取特定領域的關鍵詞,作為基礎知識,以實現RAG

企業官網及專利資料量巨大,呼叫LLM存在耗時超長的問題,好在有28卡的機器,可以做分散式推理,提高響應效能

總體的方案設計如下:

圖雖然簡單明瞭,但其中的細節還是值得玩味的。

4.1 詞級匹配模組

(1) 針對垂直領域,基於標籤的含義及經驗知識,人工整理標籤可能涉及的關鍵詞,如智慧汽車,可能存在智慧駕駛、自動泊車、變道輔助等,但人工整理的關鍵詞有限;

(2) 針對企業及專利資料,採用LAC+Jieba分詞(注意,人工整理的詞表不進行拆分),然後使用KeyBert+編輯距離進行關鍵詞匹配(keybert底層模型採用目前效果最優的xiaobu-embedding-v2),篩選出關鍵詞可能匹配的對映標籤

4.2 分類RAG模組

(1) 每類標籤的第3層級下的第4級標籤的個數有限,因此首先針對標籤的前3層級進行分類。取巧的地方在於先粗後精,即前3層級對應的標籤個數較多,因此拆分為N組,每組透過prompt呼叫LLM輸出一個結果,然後再針對輸出的結果進行聚合,再呼叫一次LLM生成細粒度的標籤

(2) 3層級標籤確定之後,再基於第4層級標籤進行末級標籤確定

5. 功能特點

  1. 為什麼使用關鍵詞進行RAG

答:關鍵詞雖然無法直接對映對應的標籤(客官可以想想為什麼?),但關鍵詞有較強的背景提示,因此prompt中關鍵詞有值的標籤篩選出來的機率更大一些

  1. 關鍵詞語義匹配為什麼還需要增加編輯距離?

答:因為語義相似度模型一般針對較短文字的比較,針對詞的比較效果較差,因此引入編輯距離,提高詞級匹配度

  1. 同一個關鍵詞對應多個標籤的場景如何解決?

答:透過底層的LLM進行分辨具體應該屬於哪一個

  1. 分類RAG是如何考慮的

答:由於標籤數量較多,層級較深,而且LLM的輸入長度有限,因此採用化繁為簡(或先分後合)的方式,將整個標籤體系先進行分組,然後呼叫LLM輸出每個分組輸出結果,再對結果進行整合,再次呼叫LLM進行細粒度分類確認

  1. 分類RAG先粗後細有什麼好處?

答:粗粒度分類,LLM只能觀察到給定的一組標籤,而看不到整體標籤,粗粒度劃分好之後,細粒度再次確認,有助於提高分類的準確性。

qiang~的實驗結果表明,準確率可以從70%-80%,上升到85%-90%,當然該實驗只是針對該特定場景,但缺點是增加了LLM的響應時間。

  1. 標籤劃分N組後呼叫LLM,如何提高響應效能?

答:由於部署的是Qwen2量化版,且有28張卡可以使用,因此起了8vllm程序,用haproxy做請求轉發,從而提高LLM的響應效能。實驗表明,7W+資料,只需要耗時1天左右即可跑完結果,單節點非量化版本,可能需要幾個禮拜才能跑完。

  1. 具體效果層面如何?

答:基於這一套方案,針對每個標籤進行隨機取樣抽檢,準確率能保持在85%-95%之間

  1. 為什麼不增加fewshot呢?

答:此處的關鍵詞就類似於fewshot示例,若直接以公司或專利作為fewshot,首先所屬標籤示例範圍較廣,不好整理,其次嚴重影響LLM的響應時間,因為輸入長度變長。

  1. 人工未整理的關鍵詞場景,如何確保分類準確?

答:依賴於底層LLM能力,這就是為什麼選擇Qwen2-72B的原因,當前Qwen2-72B的效果屬於業界翹首。

6. 未來最佳化點

如果想要進一步提升準確率,當前方案已經預留口子,即標籤的詳細說明及垂直領域關鍵詞的人工整理。標籤說明越詳細,關鍵詞整理的越完備,分類的準確性就會越高。

但引出的問題是,關鍵詞的人工整理耗時耗力,如何進一步減少人工整理,成為下一步的最佳化方向。

7. 總結

一句話足矣~

本文主要是採用LLM實現產業治理領域的多標籤分類任務,包括具體的方案,LLM工程層面最佳化,實現效果以及未來的最佳化方向。

讀者可以參考這套方案,嘗試解決LLM實現多標籤分類的任務,尤其是標籤種類繁多,且層級較深的情況。

如有問題或者想要合作的客官,可私信溝通。

8. 參考

(1) Qwen2: https://qwen.readthedocs.io/zh-cn/latest/

相關文章