Это видео недоступно.
Сожалеем об этом.

[ChatGPT] 個人化Llama2 !如何在Colab中運用自己的資料集微調 Llama2 模型

Поделиться
HTML-код
  • Опубликовано: 30 июл 2023
  • [本影片有CC字幕] 在上次介紹如何使用 HuggingFace 載入Llama2 建立本地端大型語言模型後,本次將進一步教您如何微調(Fine-Tune) Llama2 模型。儘管官方版本已提供Llama2的訓練指南,為了方便起見,我們將使用在Github上較受歡迎的LLaMA-Efficient-Tuning 專案來進行模型訓練。
    LLaMA-Efficient-Tuning是一個簡單易用的大型語言模型微調框架,除了可以進行常見的PEFT(PT+SFT+RLHF with QLoRA),還支援訓練許多其他大型語言模型,例如LlaMA2、BLOOM、Falcon和Baichuan。如果想要訓練ChatGLM,還可以使用同作者開發的ChatGLM-Efficient-Tuning。
    我們進行微調的步驟如下:
    1. 在Colab載入配備A100 GPU
    2. 安裝LLaMA-Efficient-Tuning。
    3. 調整dataset_info.json,將自己的資料集描述加入其中(命名為largitdata)。
    4. 導入自己的監督式微調資料集(命名為largitdata_llm_sample.json)。
    5. 使用內建指令src/train_bash.py進行監督式微調(Supervised Fine Tuning,SFT)。
    6. 使用內建指令src/train_bash.py進行預測生成。
    有了Llama2,再搭配自己的資料集,相信在不久的將來,大家都可以使用LLaMA-Efficient-Tuning快速有效地微調Llama2模型以適應特定需求。
    請不要忘記點讚和訂閱本頻道,以便獲得更多有關ChatGPT與人工智慧相關的教學和資訊,我們下個教學見!
    影片:
    www.largitdata...
    前情提要 - [ChatGPT] 如何利用Meta推出的開源Llama2模型,打造屬於自己的ChatGPT:
    www.largitdata...
    程式碼:
    github.com/ywc...
    資料集:
    github.com/ywc...
    LLaMA-Efficient-Tuning 專案位置:
    github.com/hiy...
    給資料科學家的Python基礎課:
    • 給資料科學家的 Python 基礎課
    大數學堂 - 學習資料科學的第一站:
    / @largitdata_course
    #大數軟體
    #大數學堂
    #大型語言模型
    #Llama2
    #LLaMAEfficientTuning
    #FineTune
    #人工智慧
    #監督式微調
    #chatgpt
    #colab

Комментарии • 41

  • @pkwanga
    @pkwanga Год назад +1

    好快更新,謝謝老師

  • @wilfredomartel7781
    @wilfredomartel7781 6 месяцев назад

    great work!

  • @user-jc8gf8se5w
    @user-jc8gf8se5w Год назад +1

    result = F.linear(x, transpose(self.weight, self.fan_in_fan_out), bias=self.bias)
    RuntimeError: expected scalar type Float but found Half 请问老师这个怎么解决?

    • @Largitdata
      @Largitdata  Год назад

      意思是型態精度不匹配,哪邊產生的錯誤?

  • @chuanjiang6931
    @chuanjiang6931 10 месяцев назад +1

    做预测的时候model name 依然用了 'daryl149/llama-2-7b-chat-hf \', 为什么没有用刚做完微调的模型?该如何指定呢?

    • @Largitdata
      @Largitdata  10 месяцев назад

      你第一次下載模型後,模型會放在 ~/.cache/huggingface/hub/ 中,再一次呼叫的時候,他不是重新下載,是用本地端fine-tune 後的模型,不用另外指定

    • @chuanjiang6931
      @chuanjiang6931 10 месяцев назад +1

      @@Largitdata 我猜你是想说 是用本地端fine-tune後的模型?

    • @Largitdata
      @Largitdata  10 месяцев назад

      @@chuanjiang6931 哈 對,我更正一下

  • @yi-lun1565
    @yi-lun1565 9 месяцев назад

    請問影片教學範例中,
    1. 微調後的最終模型放在哪裡? 微調後最終模型的名稱為何?
    2. 微調後的最終模型格式是什麼? 是與 ggml-model-q4_0.bin 還是跟 pytorch_model-00001-of-00003.bin 相同呢?
    會這樣問是因為未來可能會想要自己重新載入模型再去跟其他模型結合,但有點不清楚格式所以想問問看得到解答~ 謝謝

    • @Largitdata
      @Largitdata  9 месяцев назад

      你第一次下載模型後,模型會放在 ~/.cache/huggingface/hub/ 中,再一次呼叫的時候,他不是重新下載,是用本地端fine-tune 後的模型,不用另外指定

    • @Largitdata
      @Largitdata  9 месяцев назад

      ggml 是能夠用CPU 運行的模型,預設的模型是 pth, ggml 需要再作轉換

    • @keycui
      @keycui 5 месяцев назад

      ​@@Largitdata我第一次fine-tune完之后关闭了colab,然后第二天重新启动colab的A100,训练完的模型还在吗,我想进行预测和评估,他能找到fine-tune好的模型吗。希望能给予解答

  • @chuanjiang6931
    @chuanjiang6931 10 месяцев назад

    请教一下您 微调llm 如果loss炸了 一般该检查哪些方面?

    • @Largitdata
      @Largitdata  9 месяцев назад

      當損失值異常時,通常會首先降低學習率或使用梯度裁剪技術。如果這些方法不起作用,可能需要更細緻地調查數據和模型的細節。
      數據預處理的質量也要重新檢視
      可以先從範例數據開始

  • @GooBello-gr2ls
    @GooBello-gr2ls 11 месяцев назад +1

    請問訓練完後,想使用model,是不是ckpoint裡的adapter_model.bin就是整個fine-tune好的model?

    • @GooBello-gr2ls
      @GooBello-gr2ls 11 месяцев назад

      想使用訓練好的model,應該如何運行它?看到很多運行HF上的model,如何運行已經在本地的model?

  • @keycui
    @keycui 5 месяцев назад

    我第一次fine-tune完之后关闭了colab,然后第二天重新启动colab的A100,训练完的模型还在吗,我想进行预测和评估,他能找到fine-tune好的模型吗。希望能给予解答

    • @Largitdata
      @Largitdata  5 месяцев назад

      你第一次下載模型後,模型會放在 ~/.cache/huggingface/hub/ 中,要把他放到Google drive! 如果 colab 重開,東西都會被清掉,要重新來歐

    • @keycui
      @keycui 5 месяцев назад

      @@Largitdata 谢谢~~

  • @leoking8605
    @leoking8605 11 месяцев назад

    感谢分享!但是还是有一些小问题,直接用您给的原代码跑(数据也是代码中的),无法成功,1是没有template,2是ValueError: Please specify `lora_target` in LoRA training,第一个加了template就行,第2个还是没搞懂

    • @Largitdata
      @Largitdata  11 месяцев назад +1

      請問也是在colab 執行嗎

    • @moyudawang
      @moyudawang 10 месяцев назад

      老师您好,我也碰到了直接用原代码跑报错的问题,我的报错也是ValueError: Please specify which `template` to use.但是第一节课的模型调用是没有问题的@@Largitdata

  • @user-cc1cu1cy3k
    @user-cc1cu1cy3k Год назад

    请问老师这个错如何解决?
    ValueError: Original column name instruction not in the dataset. Current columns in the dataset: ['payload', 'title']

    • @Largitdata
      @Largitdata  Год назад

      看起來是欄位名稱跑掉了,是怎麼產生這錯誤的呢?

    • @smolpawpaw
      @smolpawpaw 11 месяцев назад

      @@Largitdata 开始run起来就报这个错误,也不知道为什么

    • @smolpawpaw
      @smolpawpaw 11 месяцев назад

      还没下载dary之前

    • @Largitdata
      @Largitdata  11 месяцев назад

      @@smolpawpaw 錯誤顯示你的資料集目前的欄位名稱是 payload 跟 title 不符合訓練模式,可以再檢查一下資料內容

  • @chiangandy
    @chiangandy 11 месяцев назад

    請問pre-Train模型有針對繁中的資料訓練的嗎?現在看到的都是英文或是簡中的~

    • @Largitdata
      @Largitdata  11 месяцев назад

      繁中可以用opencc.把簡中翻譯過去即可,或用維基的資料集

  • @willy7703
    @willy7703 11 месяцев назад

    想請問老師或其他大大
    有人知道 有辦法在colab上進行sft微調後
    將model結果檔下載到本地端 可以這樣做嗎?

    • @Largitdata
      @Largitdata  11 месяцев назад +1

      可以呀 把模型下載下來就好

    • @willy7703
      @willy7703 11 месяцев назад

      @@Largitdata 好的 感謝老師 那我再自行研究一下~~

  • @syunAI88
    @syunAI88 Год назад

    範例程式7b試玩了筆電的RTX3080要跑4分鐘

    • @syunAI88
      @syunAI88 Год назад

      但是直接試70b卻會出現error

    • @dkc566476
      @dkc566476 Год назад +6

      70B的模型需要80GB的VRAM,完整模型不可能在你的筆電跑起來,那是給A100 80G或數顆T4串接才能跑
      即使是llama2 70B 的二位元量化GGML版也需要在Ram+Vram有32GB才能跑起來

    • @syunAI88
      @syunAI88 11 месяцев назад

      @@dkc566476 的確後來我有認真去研究過。是跑不了的。當作學習玩玩的。

    • @leowang55
      @leowang55 10 месяцев назад

      @@dkc566476請問T4串接要用什麼技術呢, 謝謝

    • @dkc566476
      @dkc566476 10 месяцев назад

      @@leowang55 torch.nn.parallel.DistributedDataParallel 與 torch.nn.DataParallel選一個解決方案