タグ

ブックマーク / note.com/npaka (13)

  • iOS・Android の ローカルLLM実行環境まとめ|npaka

    iOS・Android の ローカルLLMの実行環境をまとめました。 1. iOS1-1. Llama.cpp (gguf)「Llama.cpp」の「example/llama.swiftui」で、iOSでggufを実行するプロジェクトが提供されています。モデルはHuggingFaceの「TheBloke」「mmnga」などで数多く提供されています。ただし、メモリ制限のため小サイズのモデルに限られます。 1-2. MLX「mlx-swift-examples」の「LLMEval」に、iOSでMLXを実行するプロジェクトが含まれています。モデルはHuggingFaceの「MLX Community」などで数多く提供されています。ただし、メモリ制限のため小サイズのモデルに限られます。 1-3. TensorFlow Lite (tflite)「MediaPipe」の「LLM Inference

    iOS・Android の ローカルLLM実行環境まとめ|npaka
    shodai
    shodai 2024/05/03
  • MLX で Llama 3 を試す|npaka

    「MLX」で「Llama 3」を試したので、まとめました。 1. Llama 3「Llama 3」は、Metaが開発したオープンモデルです。 2. 推論の実行「MLX」は、Appleが開発した新しい機械学習フレームワークで、「Apple Silicon」(M1/M2/M3など) を最大限に活用するように設計されています。 推論の実行手順は、次のとおりです。 (1) Pythonの仮想環境の準備。 今回は、「Python 3.10」の仮想環境を準備しました。 (2) パッケージのインストールと実行。 今回は「mlx-community/Meta-Llama-3-8B-Instruct-4bit」のモデルを利用します。 pip install mlx-lm mlx_lm.generate --model mlx-community/Meta-Llama-3-8B-Instruct-4bit -

    MLX で Llama 3 を試す|npaka
    shodai
    shodai 2024/05/03
    “「MLX」は、Appleが開発した新しい機械学習フレームワークで、「Apple Silicon」(M1/M2/M3など) を最大限に活用するように設計されています。”[リアルタイム翻訳]
  • LangChain への OpenAIのRAG戦略の適用|npaka

    以下の記事が面白かったので、かるくまとめました。 ・Applying OpenAI's RAG Strategies 1. はじめに「Open AI」はデモデーで一連のRAG実験を報告しました。評価指標はアプリケーションによって異なりますが、何が機能し、何が機能しなかったかを確認するのは興味深いことです。以下では、各手法を説明し、それぞれを自分で実装する方法を示します。アプリケーションでのこれらの方法を理解する能力は非常に重要です。問題が異なれば異なる検索手法が必要となるため、「万能の」解決策は存在しません。 2. RAG スタックにどのように適合するかまず、各手法をいくつかの「RAGカテゴリ」に分類します。以下は、カテゴリ内の各RAG実験を示し、RAGスタックに配置する図です。 3. ベースライン距離ベースのベクトルデータベース検索は、クエリを高次元空間に埋め込み(表現)し、「距離」に基

    LangChain への OpenAIのRAG戦略の適用|npaka
  • 大規模モデルを単一GPUで効率的に学習する方法|npaka

    以下の記事が面白かったので、かるくまとめました。 ・Methods and tools for efficient training on a single GPU 1. LLMを単一GPUで効率的に学習する方法大規模モデルの学習では、次の2つを考慮する必要があります。 ・スループット・学習時間 ・モデルのパフォーマンス 「スループット」 (サンプル / 秒) を最大化すると、学習コストの削減につながります。これは通常、GPUメモリを限界まで利用することで実現されます。必要なバッチサイズがメモリオーバーする場合は、「Gradient Accumulation」などの「メモリの最適化」が必要になります。 ただし、「推奨バッチサイズ」がメモリに収まる場合は、学習が遅くなる可能性があるため、「メモリの最適化」を適用する必要はありません。どのバッチサイズが最良の結果をもたらすかを決定し、それに応じ

    大規模モデルを単一GPUで効率的に学習する方法|npaka
    shodai
    shodai 2023/10/03
  • 最近のLLMの学習法のまとめ - SFT・RLHF・RAG|npaka

    最近のLLMの学習法 (SFT・RLHF・RAG) をまとめました。 1. 教師ありファインチューニング (SFT : Supervised Fine-Tuning) 2. 人間のフィードバックからの強化学習 (RLHF : Reinforcement Learning from Human Feedback)

    最近のLLMの学習法のまとめ - SFT・RLHF・RAG|npaka
    shodai
    shodai 2023/09/07
  • LLMのファインチューニング で 何ができて 何ができないのか|npaka

    LLMのファインチューニングで何ができて、何ができないのかまとめました。 1. LLMのファインチューニングLLMのファインチューニングの目的は、「特定のアプリケーションのニーズとデータに基づいて、モデルの出力の品質を向上させること」にあります。 OpenAIのドキュメントには、次のように記述されています。 ファインチューニングは、プロンプトに収まるよりも多くの例で学習することで、Few-Shot学習を改善します。一度モデルをファインチューニングすれば、プロンプトにそれほど多くの例を提供する必要がなくなります。これにより、コストを削減し、低レイテンシのリクエストを可能にします。 しかし実際には、それよりもかなり複雑です。 LLMには「大量のデータを投げれば自動的に解決する」ような創発的な特性があるため、ファインチューニングもそのように機能すると人々は考えていますが、必ずしもそうではありませ

    LLMのファインチューニング で 何ができて 何ができないのか|npaka
    shodai
    shodai 2023/08/29
    “LLMのファインチューニングは、「形式」の学習は効果的ですが、「事実」の学習は不得意です。”
  • OpenAIのファインチューニングAPIによる GPT-4 から GPT-3.5 への蒸留を試す|npaka

    OpenAIのファインチューニングAPIによる GPT-4 から GPT-3.5 への蒸留を試したのでまとめました。 1. GPT-4 から GPT-3.5 への蒸留「LlamaIndex」で、OpenAIのファインチューニングAPIによる GPT-4 から GPT-3.5 への蒸留のColabが提供されてたので、それをベースに独自データで試してみました。 具体的には、「GPT-4」で学習データを生成し、「GPT-3.5」でファインチューニングすることで、「GPT-3.5」に「GPT-4」相当の知識を習得させます。 We successfully made gpt-3.5-turbo output GPT-4 quality responses in an e2e RAG system 🔥 Stack: automated training dataset creation in @ll

    OpenAIのファインチューニングAPIによる GPT-4 から GPT-3.5 への蒸留を試す|npaka
    shodai
    shodai 2023/08/27
  • LLM の LoRA / RLHF によるファインチューニング用のツールキットまとめ |npaka

    「LLM」の「LoRA」「RLHF」によるファインチューニング用のツールキットをまとめました。 1. PEFT「PEFT」は、モデルの全体のファインチューニングなしに、事前学習済みの言語モデルをさまざまな下流タスクに適応させることができるパッケージです。 現在サポートしている手法は、次の4つです。 ・LoRA ・Prefix Tuning ・P-Tuning ・Prompt Tuning ◎ LLaMA + LoRA 「Alpaca-LoRA」は、「LLaMA」に「LoRA」を適用して「Alpaca」の結果を再現するためのコードが含まれているリポジトリです。「finetune.py」がLoRAの参考になります。 ・tloen/alpaca-lora ◎ RedPajama-INCITE + LoRA 「INCITE-LoRA」は、「RedPajama-INCITE」に「LoRA」を適用する

    LLM の LoRA / RLHF によるファインチューニング用のツールキットまとめ |npaka
    shodai
    shodai 2023/05/13
  • MPT-7B - オープンで商用利用可能なLLM|npaka

    以下の記事が面白かったので、簡単にまとめました。 ・Introducing MPT-7B: A New Standard for Open-Source, Commercially Usable LLMs 1. MPT-7B「MPT-7B」は、「MosaicML」が開発した、テキストとコードの1Tトークンでゼロから学習したLLMです。オープンソースで、商用利用可能で、LLAMA-7Bと同等の品質を持ちます。約20万ドル、人間介入なし、9.5日間、MosaicMLプラットフォームで学習しています。 2. モデル一覧ベースモデルに加えて、3つのファインチューニングモデルも提供しています。 2-1. MPT-7B (ベースモデル)「MPT-7B」は、6.7Bパラメータを持つベースモデルです。MosaicMLのデータチームが収集したテキストとコードの1Tトークンで学習しました。 ・ライセンス :

    MPT-7B - オープンで商用利用可能なLLM|npaka
    shodai
    shodai 2023/05/06
  • RLHF (人間のフィードバックからの強化学習) の図解|npaka

    以下の記事が面白かったので、軽く要約しました。 ・Illustrating Reinforcement Learning from Human Feedback (RLHF) 1. はじめに言語モデルは、人間の入力プロンプトから多様で説得力のあるテキストを生成することで、ここ数年、目覚ましい成果をあげています。しかし、「良い」テキストかどうかは、主観的で文脈に依存するため、定義することが困難です。 「良い」テキストを生成するための損失関数の設計は難しく、ほとんどの言語モデルは、まだ単純な次のトークン予測損失(クロスエントロピーなど)で学習しています。この損失自体の欠点を補うために、BLEUやROUGEなどの人間の好みをよりよく捉えるように設計された指標も定義されています。しかしこれらは、能力測定において損失関数より適してますが、生成されたテキストを単純なルールで参照比較するため、制限があり

    RLHF (人間のフィードバックからの強化学習) の図解|npaka
    shodai
    shodai 2023/04/29
  • Google Colab で BabyAGI を試す

    Google Colab」で「BabyAGI」を試したので、まとめました。 1. BabyAGI「BabyAGI」は、タスク駆動型自律エージェントのフレームワークです。ゴールに基づいてタスクの作成、優先順位付け、および実行を行います。主なアイデアは、前のタスク結果とゴールに基づいてタスクを作成することです。「Task-Driven Autonomous Agent」 (Mar 28, 2023)の簡易版になります。 「BabyAGI」は、次の手順を無限ループすることで機能します。 (1) タスクリストから最初のタスクを取得。 (2) タスクを実行エージェントに送信。実行エージェントは、「OpenAI API」を使用して、タスク結果を取得。 (3) 結果を充実させ、「Pinecone」に保存。 (4) 新しいタスクを作成し、ゴールと前のタスク結果に基づいてタスクリストの優先順位を付け直す。

    Google Colab で BabyAGI を試す
  • 最近話題になった大規模言語モデルまとめ|npaka

    最近話題になった大規模言語モデルをまとめました。 1. クラウドサービス1-1. GPT-4「GPT-4」は、「OpenAI」によって開発された大規模言語モデルです。 マルチモーダルで、テキストと画像のプロンプトを受け入れることができるようになりました。最大トークン数が4Kから32kに増えました。推論能力も飛躍的に向上しています。 現在、「ChatGPT Plus」(有料版)で制限付きで利用できる他、ウェイトリストの登録者を対象に「OpenAI API」での利用も開始しています。

    最近話題になった大規模言語モデルまとめ|npaka
  • ChatGPT API の使い方|npaka

    OpenAI」の 記事「Chat completions」が面白かったので、軽くまとめました。 1. ChatGPT APIChatGPT」は、OpenAIの最も先進的な言語モデルである「gpt-3.5-turbo」を搭載しています。「OpenAI API」から「gpt-3.5-turbo」を使用して独自アプリケーションを作成できます。 ・メールや文章のドラフト ・Pythonコードの生成 ・一連の文書に関する質問応答 ・会話型エージェントの作成 ・ソフトウェアへの自然言語インターフェースの追加 ・さまざまな科目の家庭教師 ・言語の翻訳 ・ビデオゲームのキャラクターのシミュレート 2. 使用料金使用料金は、以下で確認できます。 3. Colab での実行「gpt-3.5-turbo」は、マルチターンの会話を簡単にするように設計されていますが、会話のないシングルターンタスクでも役立ちます

    ChatGPT API の使い方|npaka
    shodai
    shodai 2023/03/02
    “入力トークンと出力トークンの両方がトークン数としてカウントされます。たとえば、メッセージ入力で10トークン、メッセージ出力で20トークンを消費した場合、30トークンとなります。”
  • 1