図 1: LLM 調整プロジェクトの概要。 arXiv:2308.05374 を見てください。
LLM アライメント テンプレートは、大規模言語モデル (LLM) をアライメントするための包括的なツールであるだけでなく、独自の LLM アライメント アプリケーションを構築するための強力なテンプレートとしても機能します。このリポジトリは、 PyTorch プロジェクト テンプレートのようなプロジェクト テンプレートからインスピレーションを得て、機能の完全なスタックを提供するように設計されており、独自の LLM アライメント ニーズに合わせてカスタマイズおよび拡張するための開始点として機能します。研究者、開発者、データ サイエンティストのいずれであっても、このテンプレートは、人間の価値観や目的に合わせて調整された LLM を効率的に作成および展開するための強固な基盤を提供します。
LLM アライメント テンプレートは、ヒューマン フィードバックからの強化学習 (RLHF) を使用した LLM のトレーニング、微調整、展開、監視などの完全な機能スタックを提供します。このプロジェクトでは、言語モデルの倫理的かつ効果的な使用を保証するための評価指標も統合されています。このインターフェイスは、調整の管理、トレーニング メトリクスの視覚化、大規模な展開のためのユーザー フレンドリーなエクスペリエンスを提供します。
app/
: API と UI コードが含まれます。
auth.py
、 feedback.py
、 ui.py
: ユーザー対話、フィードバック収集、および一般的なインターフェイス管理のための API エンドポイント。app.js
、 chart.js
)、CSS ( styles.css
)、および Swagger API ドキュメント ( swagger.json
)。chat.html
、 feedback.html
、 index.html
)。 src/
: 前処理とトレーニングのためのコアロジックとユーティリティ。
preprocessing/
):preprocess_data.py
: 元のデータセットと拡張されたデータセットを結合し、テキスト クリーニングを適用します。tokenization.py
: トークン化を処理します。training/
):fine_tuning.py
、 transfer_learning.py
、 retrain_model.py
: モデルのトレーニングおよび再トレーニング用のスクリプト。rlhf.py
、 reward_model.py
: RLHF を使用した報酬モデル トレーニング用のスクリプト。utils/
): 共通ユーティリティ ( config.py
、 logging.py
、 validation.py
)。 dashboards/
: モニタリングとモデルの洞察のためのパフォーマンスと説明可能性のダッシュボード。
performance_dashboard.py
: トレーニング メトリクス、検証損失、精度を表示します。explainability_dashboard.py
: SHAP 値を視覚化して、モデルの決定に関する洞察を提供します。 tests/
: 単体テスト、統合テスト、およびエンドツーエンドのテスト。
test_api.py
、 test_preprocessing.py
、 test_training.py
: さまざまな単体テストと統合テスト。e2e/
): サイプレス ベースの UI テスト ( ui_tests.spec.js
)。load_testing/
): 負荷テストには Locust ( locustfile.py
) を使用します。 deployment/
: デプロイメントとモニタリングのための設定ファイル。
kubernetes/
): スケーリングおよびカナリア リリースのためのデプロイメントおよび Ingress 構成。monitoring/
): パフォーマンスとシステムの健全性をモニタリングするための Prometheus ( prometheus.yml
) および Grafana ( grafana_dashboard.json
)。 リポジトリのクローンを作成します。
git clone https://github.com/yourusername/LLM-Alignment-Template.git
cd LLM-Alignment-Template
依存関係をインストールします。
pip install -r requirements.txt
cd app/static
npm install
Docker イメージをビルドする:
docker-compose up --build
アプリケーションにアクセスします。
http://localhost:5000
にアクセスします。 kubectl apply -f deployment/kubernetes/deployment.yml
kubectl apply -f deployment/kubernetes/service.yml
kubectl apply -f deployment/kubernetes/hpa.yml
deployment/kubernetes/canary_deployment.yml
を使用して構成されます。deployment/monitoring/
で Prometheus および Grafana 構成を適用して、モニタリング ダッシュボードを有効にします。docker-compose.logging.yml
を使用して Docker で構成されます。 トレーニング モジュール ( src/training/transfer_learning.py
) は、 BERTなどの事前トレーニングされたモデルを使用してカスタム タスクに適応し、パフォーマンスを大幅に向上させます。
data_augmentation.py
スクリプト ( src/data/
) は、逆翻訳や言い換えなどの拡張技術を適用してデータ品質を向上させます。
rlhf.py
とreward_model.py
スクリプトを使用して、人間のフィードバックに基づいてモデルを微調整します。feedback.html
) を介して応答を評価し、モデルはretrain_model.py
で再トレーニングされます。explainability_dashboard.py
スクリプトは、 SHAP値を使用して、モデルが特定の予測を行った理由をユーザーが理解できるようにします。
tests/
にあり、API、前処理、トレーニング機能をカバーします。tests/load_testing/locustfile.py
) で実装されています。 貢献は大歓迎です!改善や新機能については、プル リクエストや問題を送信してください。
このプロジェクトは MIT ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。
Amirsina Torfi による ❤️ で開発