AIアシストコーディング&LLMプロンプトエンジニアリング
導入
このリポジトリは、AIアシストコーディング、自動脱着大型言語モデル(LLMS)、および高度な迅速なエンジニアリング技術に関連するリソースとデモを提供します。
カバーされているトピック:
- AIアシストコーディング
- オートレーリングラージランゲージモデル(LLMS)
- プロンプトエンジニアリング201
AIアシストコーディング
リポジトリには、言語モデルを使用してAIアシストコーディング技術を示すJupyterノートブック( AI_ASSISTED_CODING.ipynb )が含まれています。
オートレーフ言語モデル
自己回帰LLMSは、入力テキストに基づいて次の単語を予測し、確率カーネルとして動作します。
重要な概念:
- 次のワード予測:プレフィックスが与えられた場合、モデルは最も可能性の高い次の単語を生成します。
- 確率的性質:特定の入力は、確率分布からサンプリングされた異なる出力を生成する可能性があり、その結果、矛盾や幻覚を引き起こす可能性があります。
- 確率計算:言語モデルは、事前の観測に基づいて単語のシーケンスに確率を割り当てます。
大きな言語モデルの種類:
- ベースLLM(事前訓練):文の次の単語を予測するために、大きなテキストコーパスで訓練されています。
- 命令チューニングLLM(微調整):次のような手法を使用して、指示に従って応答の精度を向上させるように最適化されています。
- 監視された微調整(SFT)
- 人間のフィードバックによる強化学習(RLHF)
- 直接選好最適化(DPO)
サンプリングとパラメーター
モデル出力を制御する重要なパラメーター:
- 温度:ランダム性を制御します(より高い値=より多くの創造性、低い値=より決定的な応答)。
- TOP-P(核サンプリング):トークンの選択を最も可能性の高いサブセットに制限します。
- LogProbs:デバッグと信頼分析のログ確率スコア。
- 罰則:
- 頻度ペナルティ:頻繁な単語の繰り返しを減らします。
- 存在ペナルティ:繰り返されるフレーズを回避することにより、多様な出力を奨励します。
- マックストークン:応答長を制限します。
- 停止シーケンス:テキスト生成を停止するトークンシーケンスを定義します。
- n&best_of:生成された完了の数を制御します。
プロンプトエンジニアリング201
リポジトリには、LLMSの迅速な最適化手法を示すJupyterノートブック( PROMPT_ENGINEERING.ipynb )が含まれています。
コアトピック:
- モデルの動作の理解:希望する応答を達成するための微調整プロンプト。
- 創造性と精度の制御:構造化、コヒーレント、および関連する出力のパラメーターの調整。
- デバッグモデル応答:ログ確率を使用してプロンプトを改善します。
デモ&使用
コンセプトを探索するには、提供されたJupyterノートブックを実行します。
-
AI_ASSISTED_CODING.ipynb - AIアシストコードデモンストレーション。 -
PROMPT_ENGINEERING.ipynb - 高度なプロンプトエンジニアリング戦略。
参照
- deeplearning.ai - chatgptプロンプトエンジニアリング
- スタンフォードNLP(CS224N)
- AIエンジニアリング研究
貢献については、このリポジトリにプルリクエストを開くか、問題を作成します。ハッピーコーディング!