DataWhale暑期夏令營第一期——大模型技術方向task2筆記

zakarRoman發表於2024-07-04

Task 2 筆記

資料分析

可以先透過對標籤中各個項進行資料分析(使用values_count方法),可以得到主要任務的各個指標的值分佈情況。

我認為這一步的作用:

  1. 幫助理解資料。
  2. 大模型的本質還是機率生成,透過prompt提示詞去進行生成

Baseline最佳化思路

1.資料處理

  1. 角色合併:將同一個說話人的話合併。頻繁的角色轉換可能會增加大模型處理資料的困難。
    • 個人預想的思路:可以對對話資料進行編號,將編號和對應語句封裝為一個tuple,將每個角色的所有語句進行合併,減少頻繁的角色轉換。
  2. 資訊清洗:去除一些不必要的資訊(表情,圖片,連結等,這些資料沒有關聯性,是無法解析的髒資料)
    • 模型的主要任務還是從文字中提取關鍵詞
    • 表情,圖片,連結並不是我們要提取的物件
    • 去掉以上這些部分的影響不大,因為這些資訊本來就很難被大模型讀取
  3. 資訊總結:將聊天資訊總結(總結之後的資料有可能會對後續大模型的關鍵字抽取工作造成影響)
    • 將聊天資訊總結為一段話或者其他形式,這樣做可能會提高資訊的可閱讀性。但是離開了真實的對話環境。
    • 某些情況下,對聊天資訊進行預處理和總結可以減少噪聲,提高後續處理的效率。但這也取決於模型是否能夠從中獲益。

2.Prompt工程

    • 任務資訊分析:在設計Prompt時,理解每個任務的資訊需求是非常重要的。這包括如何指導模型提取特定的資訊,並避擴音取不相關的資訊。
  1. 任務2~10:
    • image-20240703233940356
    • 可以根據任務1得到的客戶姓名以及資料分析中得到的值,讓llm去做選擇題,編寫出Prompt,讓大模型去執行
    • 缺點:費token
  2. 調優:
    • 使用訓練集去調優。
    • 根據評價指標寫一個評價函式,讓大模型使用評價指標和標籤對抽取進行一個評價
  3. 調優思路:
    1. 資料分析
    2. 保留基本欄位資訊,其他欄位為空
    3. 全部欄位為空(效果最好?)
  • 問題

    1. 為什麼全寫空,結果會好呢?

    當資料中空值較多時,模型可能會學習到一種傾向,即忽略缺失或不確定的資訊。在這種情況下,如果測試集中的空值與訓練集類似,模型就會表現得更好,因為它能夠預期到這些缺失值。

    2. 大模型提取出多餘資訊,如何解決?

    可以透過後處理步驟來清理模型可能產生的多餘資訊。例如,在提取JSON資料時,可以設定一些規則來過濾掉不符合格式或邏輯的資訊。

    3. Prompt原理?

    在自然語言處理中,Prompt工程的核心思想是利用預先設計的指令和資訊來引導模型生成預期的輸出。在Transformer或BERT這樣的模型中,輸入的序列透過自注意力機制捕捉不同部分之間的關係,而好的Prompt可以更有效地引導模型關注於關鍵資訊,從而提高預測的準確性。

    在多選題的Prompt設計中,q,k,v指的是query, key, value這三個元件,在注意力機制中起著關鍵作用。query用於查詢與之相關的資訊(key, value),而value則包含了實際的資訊內容。透過精心設計這兩個部分,可以提高模型處理特定任務的效能。

相關文章