Spydaz Web AI Llava
モデル概要
モデル特徴
モデル能力
使用事例
🚀 SpydazWeb AI 関連プロジェクト
このプロジェクトは、複数のベースモデルを活用し、多言語に対応したAIモデルを開発するものです。多様なデータセットを用いて訓練され、様々なタスクに対応できる汎用的なAIを目指しています。
📚 詳細ドキュメント
ベースモデル
プロパティ | 詳細 |
---|---|
ベースモデル | LeroyDyer/SpydazWeb_AI_CyberTron_Ultra_7b、LeroyDyer/LCARS_AI_StarTrek_Computer、LeroyDyer/_Spydaz_Web_AI_ActionQA_Project、LeroyDyer/_Spydaz_Web_AI_ChatML_512K_Project、LeroyDyer/SpyazWeb_AI_DeepMind_Project、LeroyDyer/SpydazWeb_AI_Swahili_Project、LeroyDyer/_Spydaz_Web_AI_08、LeroyDyer/_Spydaz_Web_AI_ChatQA_001、LeroyDyer/_Spydaz_Web_AI_ChatQA_001_SFT、LeroyDyer/_Spydaz_Web_AI_Llava |
ライブラリ名
プロパティ | 詳細 |
---|---|
ライブラリ名 | transformers |
言語
プロパティ | 詳細 |
---|---|
言語 | en、sw、ig、so、es、ca、xh、zu、ha、tw、af、hi、bm、su |
データセット
プロパティ | 詳細 |
---|---|
データセット | gretelai/synthetic_text_to_sql、HuggingFaceTB/cosmopedia、teknium/OpenHermes - 2.5、Open - Orca/SlimOrca、Open - Orca/OpenOrca、cognitivecomputations/dolphin - coder、databricks/databricks - dolly - 15k、yahma/alpaca - cleaned、uonlp/CulturaX、mwitiderrick/SwahiliPlatypus、swahili、Rogendo/English - Swahili - Sentence - Pairs、ise - uiuc/Magicoder - Evol - Instruct - 110K、meta - math/MetaMathQA、abacusai/ARC_DPO_FewShot、abacusai/MetaMath_DPO_FewShot、abacusai/HellaSwag_DPO_FewShot、HaltiaAI/Her - The - Movie - Samantha - and - Theodore - Dataset、HuggingFaceFW/fineweb、occiglot/occiglot - fineweb - v0.5、omi - health/medical - dialogue - to - soap - summary、keivalya/MedQuad - MedicalQnADataset、ruslanmv/ai - medical - dataset、Shekswess/medical_llama3_instruct_dataset_short、ShenRuililin/MedicalQnA、virattt/financial - qa - 10K、PatronusAI/financebench、takala/financial_phrasebank、Replete - AI/code_bagel、athirdpath/DPO_Pairs - Roleplay - Alpaca - NSFW、IlyaGusev/gpt_roleplay_realm、rickRossie/bluemoon_roleplay_chat_data_300k_messages、jtatman/hypnosis_dataset、Hypersniper/philosophy_dialogue、Locutusque/function - calling - chatml、bible - nlp/biblenlp - corpus、DatadudeDev/Bible、Helsinki - NLP/bible_para、HausaNLP/AfriSenti - Twitter、aixsatoshi/Chat - with - cosmopedia、xz56/react - llama、BeIR/hotpotqa、YBXL/medical_book_train_filtered |
タグ
プロパティ | 詳細 |
---|---|
タグ | mergekit、merge、Mistral_Star、Mistral_Quiet、Mistral、Mixtral、Question - Answer、Token - Classification、Sequence - Classification、SpydazWeb - AI、chemistry、biology、legal、code、climate、medical、LCARS_AI_StarTrek_Computer、text - generation - inference、chain - of - thought、tree - of - knowledge、forest - of - thoughts、visual - spacial - sketchpad、alpha - mind、knowledge - graph、entity - detection、encyclopedia、wikipedia、stack - exchange、Reddit、Cyber - series、MegaMind、Cybertron、SpydazWeb、Spydaz、LCARS、star - trek、mega - transformers、Mulit - Mega - Merge、Multi - Lingual、Afro - Centric、African - Model、Ancient - One |
パイプラインタグ
プロパティ | 詳細 |
---|---|
パイプラインタグ | image - to - text |
動機付けの引用
“成功は、達成可能なステップで各タスクを定義することから生まれます。完了した各ステップは、あなたを目標に近づける成功です。もしあなたのステップが達成不可能なものであれば、失敗は避けられません。勝者は他の勝者を生み出し、敗者はその逆をします。成功は勝者のゲームです!” — Leroy Dyer (1972 - 現在)
“プロとして成長するためには、現在の能力を少し超えた目標を設定しましょう。これらのマイルストーンを達成することで、障害を克服するだけでなく、スキルセットも強化されます。もしあなたのタスクが簡単すぎると、自分自身を挑戦したり向上したりすることはできず、人生があなたを追い越していきます!”
LLaVaモデルについて
LLaVaは、GPT生成のマルチモーダル命令追従データでLlamA/Vicunaをファインチューニングすることで訓練されたオープンソースのチャットボットです。トランスフォーマーアーキテクチャに基づく自己回帰型言語モデルです。言い換えると、チャットや命令に対応するようにファインチューニングされた多モーダル版の大規模言語モデルです。
LLaVaモデルは、Haotian Liu、Chunyuan Li、Yuheng Li、Yong Jae Leeによる「Visual Instruction Tuning」で提案され、「Improved Baselines with Visual Instruction Tuning」で改善されました。
論文の概要は以下の通りです。
大規模マルチモーダルモデル(LMM)は、最近、ビジュアル命令微調整によって期待できる進歩を示しています。このノートでは、LLaVAの全結合型ビジョン言語クロスモーダルコネクタが驚くほど強力でデータ効率が高いことを示します。LLaVAに対して、CLIP - ViT - L - 336pxをMLP投影とともに使用し、学術タスク指向のVQAデータを単純な応答形式のプロンプトとともに追加するという単純な変更を加えることで、11のベンチマークで最先端の性能を達成するより強力なベースラインを確立します。最終的な13Bチェックポイントは、わずか120万件の公開データを使用し、単一の8 - A100ノードで約1日で完全なトレーニングを完了します。これにより、最先端のLMM研究がよりアクセスしやすくなることを期待しています。コードとモデルは公開されます。
使用例
基本的な使用法
# 元のコードとコメントを保持
from PIL import Image
import requests
from transformers import AutoProcessor, LlavaForConditionalGeneration
model = LlavaForConditionalGeneration.from_pretrained("llava-hf/llava-1.5-7b-hf")
processor = AutoProcessor.from_pretrained("llava-hf/llava-1.5-7b-hf")
prompt = "USER: <image>\nWhat's the content of the image? ASSISTANT:"
url = "https://www.ilankelman.org/stopsigns/australia.jpg"
image = Image.open(requests.get(url, stream=True).raw)
inputs = processor(text=prompt, images=image, return_tensors="pt")
# Generate
generate_ids = model.generate(**inputs, max_new_tokens=15)
processor.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
LLM部分
訓練レジーム
- Alpaca
- ChatML / OpenAI / MistralAI
- テキスト生成
- 質問/回答(チャット)
- プランナー
- 命令/入力/応答(インストラクト)
- Mistral標準プロンプト
- 翻訳タスク
- エンティティ/トピック検出
- 書籍の回想
- コーディングチャレンジ、コードフィードバック、コード要約、コードコメント、コード計画と説明:ソフトウェア生成タスク
- エージェントランキングと応答分析
- 医療タスク
- PubMed
- 診断
- 精神医学
- カウンセリング
- ライフコーチング
- メモ取得
- 医療用スマイル
- 医療報告
- 仮想実験室シミュレーション
- 思考連鎖法
- ワンショット/マルチショットプロンプトタスク
一般的な内部メソッド
このモデルは、多タスク操作、rag、関数呼び出しに対応して訓練されています。
このモデルは完全に機能するモデルであり、完全に無制限です。
このモデルは、Hugging Face HubとKaggleの複数のデータセットで訓練されています。
主な焦点は、方法論にあります。
- 思考連鎖
- ステップバイステップの計画
- 思考の木
- 思考の森
- 思考のグラフ
- エージェント生成:投票、ランキング、... デュアルエージェント応答生成
訓練哲学
ファインチューニング中に注意機構を優先することで、次のような利点があります。
コンテキスト理解の強化
注意層をファインチューニングすることで、モデルは入力データ内の関係と依存関係をよりよく把握し、より文脈に沿った正確な出力を生成します。
生成の制御向上
モデルの生成プロセスをより細かく制御でき、入力の特定の側面に焦点を当てて、目的に沿った出力を生成することができます。
より創造的で多様な出力
注意機構を改良することで、モデルにより広範な可能性を探索させ、より創造的で多様な応答を生成させることができます。
過学習の軽減
注意に焦点を当てたファインチューニングは、訓練データの特定のパターンに対する過学習を防ぎ、新しい入力に対する汎化能力と堅牢性を向上させます。
「エポックは、効果的な訓練の鍵であり、単に大量の例を投入するだけではなく、それらの例が単一または複数の会話内で対話を通じて学習するように関連付けられている必要があります。」
私の個人的な訓練方法は、一般的ではありません。私は、モデルが多様な視点から新しいトピックを学習できる会話を作成することを優先しています。このアプローチは重要です。なぜなら、多くのモデルが独自の個性を失っているからです。例えば、Claudeの成功は、彼らの共感的なプロンプト方法に起因しています。
モデルが訓練中でも自分自身を表現することは重要ですが、それは難しい場合があります。ロールプレイングと会話型訓練は、モデルが自然にコミュニケーションする方法を学ぶのに効果的な戦略です。現在、訓練は技術的な方法論とタスクの期待に過度に焦点を当てており、個性が失われています。
トークナイザーについて
トークナイザーは、テキストを個々の部分または「トークン」に分割して分析するツールです。機械学習モデルの前処理に使用したり、データ内の特定のパターンやシーケンスを識別するために使用することができます。単語ベース、文字ベース、文ベースなど、さまざまなタイプのトークナイザーがあり、それぞれに長所と短所があります。
単語ベースのトークナイザーはテキストを個々の単語に分割し、文字ベースのトークナイザーはテキストを個々の文字に分割し、文ベースのトークナイザーはテキストを文に分割します。単語ベースのトークナイザーは最も一般的で、自然言語処理(NLP)タスクで一般的に使用されます。なぜなら、文字ベースのトークナイザーよりも文脈をよりよく捉えることができるからです。文字ベースのトークナイザーは、OCRや画像認識などの文字レベルの特徴を分析するのに役立ち、文ベースのトークナイザーは、要約や文分類などの文レベルの理解に適しています。
トークナイザーは、特定のデータセットで訓練することで、特定のタスクに合わせてカスタマイズすることができます。これにより、特定のタスクに関連する特定の単語やフレーズを識別することができます。このため、さまざまなアプリケーションに柔軟に対応できるツールになっています。
要するに、トークナイザーは、機械学習モデルのテキストデータの前処理や、複雑な言語パターンの理解に不可欠であり、正確な分類、検索、分析を可能にします。
使用方法
機械学習ワークフローでトークナイザーを使用するには、以下の手順に従います。
- タスクを特定する:トークナイザーで達成したいタスクを決定します。例えば、テキストをトークン化する、文を分類するなどです。
- 適切なトークナイザーを選択する:タスクとデータの特性に基づいて、適切なトークナイザーを選択します。NLPタスクでは、単語ベースのトークナイザーがよく選ばれますが、OCRや画像認識では文字ベースのトークナイザーの方が適している場合があります。文ベースのトークナイザーは、複数の文から構成されるドキュメントなどの複雑な言語構造を理解するのに役立ちます。
- データを前処理する:トークナイザーをデータに適用して、トークンに変換します。これには、単語をトークン化する、句読点を削除する、テキストを文に分割するなどが含まれる場合があります。
- モデルと統合する:トークン化されたデータを機械学習モデルに組み込んで、訓練または推論を行います。
- 性能を評価する:トークン化されたデータを使用したモデルの性能を評価し、必要に応じて微調整して精度を向上させます。
- ワークフローを完成させる:トークン化されたデータを完全なワークフローに組み込み、更新されたデータセットを使用してモデルを訓練します。
歴史
トークン化の概念は、時間とともに進化してきました。初期のアプローチは、単純な文字レベルの分割に焦点を当てていましたが、1960年代には単語ベースのアプローチに進化しました。単語ベースのトークナイザーは、1970年代と80年代に人気を博し、ルールベースの方法を使用して単語を識別しました。その後の数十年間で、Unigram、Bigram、Trigramモデルなどのより高度な方法が開発されました。
20世紀後半には、文字ベースのトークナイザーが、数字や句読点などの非単語文字を処理する能力のために注目を集めました。これらのアプローチは、21世紀初頭に、品詞タグ付け(POSタグ付け)などの文字レベルのNLPタスクの台頭とともにさらに改良されました。
現代のトークナイザー、特にGPT - 3などの大規模言語モデルで使用されるトークナイザーは、サブワードトークンを使用して、単語間の細かな違いを捉えながら、効率性を維持しています。このアプローチは、2018年にBERTによって開拓され、それ以来NLPタスクの標準的なアプローチとなっています。
重要な概念
- 単語トークン化:前処理中にテキストを個々の単語に分割すること。
- 文字ベースのトークン化:分析のためにテキストを個々の文字に分割すること。
- 文トークン化:テキストを文に分割し、正確な理解を確保すること。
- サブワードトークン:単語をサブ文字の組み合わせとして表現し、細かな違いを捉えること。
- ルールベースのトークン化:事前定義されたルールとパターンに基づいて単語やフレーズを識別すること。
- 歴史的なアプローチ:単語の境界を考慮せずに文字レベルの分割に焦点を当てた初期の方法。
- 文脈認識:文脈の中で単語を認識し、歴史的な方法よりも精度を向上させること。
- サブワードモデル:推論中に語彙外(OOO)の単語を処理するために、単語をサブ文字の組み合わせとして表現すること。
- 効率性:精度を維持しながら、速度とメモリ使用量を最適化したトークナイザー。
アプリケーション
トークン化は、さまざまなNLPタスクに不可欠です。
- 分類:単語レベルまたは文字レベルの分類には、正確なモデリングのためにトークン化された入力が必要です。
- 生成:GPT - 3などの言語モデルは、トークナイザーに基づいて単語または文字を生成することで、首尾一貫したテキストを生成します。
- 重要フレーズの識別:トークナイザーは、検索エンジンや要約で使用するために、ドキュメントから重要なフレーズや用語を抽出するのに役立ちます。
- 翻訳:トークナイザーは、機械翻訳で文を単語に分割し、正確な翻訳を確保するのに役立ちます。
- 固有エンティティ認識:人、場所、組織などの固有エンティティを認識するには、文脈と関係を捉えるために正確なトークン化が必要です。
- テキスト要約:単語レベルまたは文字レベルの要約には、意味を失わずにテキストを凝縮するために効率的なトークン化が必要です。
課題
トークナイザーはNLPにおいて不可欠なツールですが、いくつかの課題も抱えています。
- 文脈感度:トークナイザーは、特に複雑な文では、文脈を考慮して単語やフレーズを正確に識別する必要があります。
- 句読点の処理:句読点を適切に処理することは難しい場合があります。なぜなら、これが単語の境界や文の構造に影響を与えるからです。
- トークン化のばらつき:異なるトークナイザーは、そのアプローチや制限のために、わずかに異なる結果を生み出す可能性があります。
- 言語の多様性:言語モデルは特定のデータセットで訓練されることが多いため、トークナイザーは多様な言語を正確に処理する必要があります。
- 文境界の検出:文の境界を識別することは、特に文構造が柔軟な言語では難しい場合があります。
- 単語分割:特にノイズの多いテキストや、複雑な形態論を持つ言語では、単語を正確に分割することが困難な場合があります。
解決策
これらの課題に対処するために、さまざまなアプローチが開発されています。
- 文脈認識型トークン化:トークン化アルゴリズムに文脈を組み込むことで、単語と文の境界を同時に考慮することで精度が向上します。








