タグ

ブックマーク / note.com/kan_hatakeyama (6)

  • 10bクラスの大規模言語モデルが、ファインチューニングを経てタスクを解けるようになるメカニズムを探るメモ|Kan Hatakeyama

    はじめに最近は大規模言語モデルのファインチューニングにハマっています。 10bクラスの言語モデルが、どのようなメカニズムを通してユーザーの質問に回答できるようになるかについて、調べています。 最近の検討で生じた仮説は、「10bクラスのモデルは、実は質問文を殆ど理解できていない」というものです。 記事ではどのようなデータを学習したときに、llm-jp-evalという評価セットに含まれるJCommonsenseQAというタスクを解けるようになるか、果たして、10bクラスのモデルは何を「理解」している/いないのか、そして、指示を理解できるようになるための必要な訓練量について、調べて行きたいと思います。 コードはこちら ※ これは正確な学術的検証ではありませんので、ご了承ください。きちっとやってくれる方や、良い参考文献をご存知の方がいたら、教えていただけると、大変助かります。 今回のタスクJCo

    10bクラスの大規模言語モデルが、ファインチューニングを経てタスクを解けるようになるメカニズムを探るメモ|Kan Hatakeyama
    misshiki
    misshiki 2024/04/02
    “10bクラスの言語モデルが、どのようなメカニズムを通してユーザーの質問に回答できるようになるかについて、調べています。”
  • 大規模言語モデルをフルスクラッチする練習 (環境構築ー前処理ー事前学習ーファインチューニングー評価まで)|Kan Hatakeyama

    はじめに以下のオープンなプロジェクトの一環で、大規模言語モデルをフルスクラッチで作る練習をします。24年3月現在、協力者も募集中です。 リポジトリ当該プロジェクトの標準コードが公開※されたので、それを走らせてみます。 ※24/3/5時点で、まだレポジトリ内に、工事中の箇所が多々、あります。 このリポ上では、事前学習ー事後学習ー評価まで、一気通貫(?)したパイプラインが提供されています※。 0. 環境構築プロジェクト番環境はクラウドですが、今回は手持ちのubuntuを使います。 Dockerはお手軽な一方で、スパコン上で使うと、どうやら速度が落ちるらしいとの噂を聞いたので、condaで作ります(とはいえ、pipしか使わないので、pyenvでもいけると思います)。 必要なマシン適当なlinux: 例えばUbuntu 22.04.3 LTS GPU: 20 GBくらいは欲しいかも? ディスク

    大規模言語モデルをフルスクラッチする練習 (環境構築ー前処理ー事前学習ーファインチューニングー評価まで)|Kan Hatakeyama
    misshiki
    misshiki 2024/03/07
    “オープンなプロジェクトの一環で、大規模言語モデルをフルスクラッチで作る練習をします。24年3月現在、協力者も募集中です。” ハンズオン的な実装手順を記載した記事。
  • pdfからtextを抜き出す試行錯誤のメモ|Kan Hatakeyama

    これは二段構えの構成を持っています。この二段構えを正確に検出し、テキストを理解することが望ましいです。 Unstructuredを使うPythonのライブラリであるUnstructuredを試してみましょう。 参考記事 導入は非常に簡単です。 pip install 'unstructured[pdf]' 実装も簡単です。 解析コード: from unstructured.partition.pdf import partition_pdf pdf_elements = partition_pdf("pdf/7_71_5.pdf") 表示コード: for structure in pdf_elements: print(structure) 結果: 残念ながら、2段組のカラムを正確に検出することはできませんでした。 Grobidを使うGrobidは、peS2oというオープンアクセス論文のコ

    pdfからtextを抜き出す試行錯誤のメモ|Kan Hatakeyama
  • 英語の学術論文をChatGPT-4で執筆する際の手順メモ|Kan Hatakeyama

    はじめに英語の論文をGPT4に執筆させた際の手順を記します。 普段からChatGPTを使っている人にとっては、当たり前のやり取りしかしていないのですが、意外と使えていない方がnon-AI分野では多いので、丁寧にプロンプトを示していきます。 (ワークショップで解説する必要が出てきたので、そのためのメモ書きです) GPT-4に論文は書けるのか?ゼロから書かせるのは難しいですが、日語の下書きを英訳するのは得意で、少なくとも筆者が満足する品質のテキストが得られます。 GPTを使って執筆をするメリットDeepLGoogle翻訳と違い、英文のスタイル(e.g., 論文調)を明示的に指示できるので、翻訳のクオリティが高い 日語ネイティブにとっては、日語で書いた方が圧倒的に楽※ スペルミスや文法ミスを犯さないので、校正の手間も減る。※ 基的に翻訳タスクしか行っていないので、GPTが過去の類似文章

    英語の学術論文をChatGPT-4で執筆する際の手順メモ|Kan Hatakeyama
  • llama2のファインチューニング(QLORA)のメモ|Kan Hatakeyama

    2023/11/13追記以下の記事は、Llama2が公開されて数日後に書いた内容です。 公開から数ヶ月経った23年11月時点では、諸々の洗練された方法が出てきていますので、そちらも参照されることをおすすめします。 (以下、元記事です) 話題のLamma2をファインチューニングします。 QLoRAライブラリを使うパターンと、公式推奨の2つを試しました。前者が個人的にはオススメです。 前提Hugging faceで配布されている公式のモデルが必要です。以下を参考に、ダウンロードしておきます。 データセット作成 (7/20 15:20追記 設定ミスってたので修正しました) test.jsonを適当に作ります。 [ { "input": "", "output": "### Human: 富士山といえば?### Assistant: なすび" }, { "input": "", "output":

    llama2のファインチューニング(QLORA)のメモ|Kan Hatakeyama
    misshiki
    misshiki 2023/07/25
    “話題のLamma2をファインチューニングします。QLoRAライブラリを使うパターンと、公式推奨の2つを試しました。前者が個人的にはオススメです。”
  • vicuna-13bで embedding vectorの計算 (& GPT・RWKVとの比較)|Kan Hatakeyama

    背景 背景はこちらの記事と同じです 最近は、GPTが流行ってます しかしGPT-3.5以降はfine tuningが執筆時点でできません なので、オリジナルデータを学習させるには、少し工夫が必要です 要するに、文章のembedding vectorを計算する必要があります しかし、GPTのAPIは地味に値段が高いため、pdfが100個くらいあったりすると、破産する恐れが出てきます 目的 最終的な推論はGPT-3.5 or 4にやらせるとして、embedding vectorの計算は、もう少しローコスト・低性能なLLMで良いのではないかと、誰しも考えるはずです 或いは、google検索のような、index検索を使うのも手です ただしこの場合は、言語を跨いだ検索などが難しそうです そこで、一般のご家庭のPCでも動き、日々タケノコの如く報告されるLLMの中でも、群を抜いていると評判のvicuna

    vicuna-13bで embedding vectorの計算 (& GPT・RWKVとの比較)|Kan Hatakeyama
    misshiki
    misshiki 2023/04/26
    OpenAIのembeddings APIが高価なので別のLLMで埋め込み表現のベクトルを作って類似度の精度を比較する話。“比較精度は、GPT > vicuna > RWKV となりました。しかし、劇的な差は見られませんでした”
  • 1