🚀 GPT-Code-Clippy-125M-Code-Search-Py
GPT-Code-Clippy-125M-Code-Search-Pyは、Python言語のコード自動補完に特化したモデルです。GPT-Neo-125MをCodeSearchNet Challengeデータセットでファインチューニングしています。
⚠️ 重要なお知らせ
オープンソース版のGitHub Copilotを作成する際の詳細な取り組みについては、GitHub Wikiをご参照ください。
🚀 クイックスタート
このモデルは、Python言語のメソッドを自動補完するために特化しています。以下では、モデルの詳細、トレーニングデータ、トレーニング手順、使用方法、制限事項などについて説明します。
✨ 主な機能
GPT-CC-125M-Code-Searchは、GPT-Neo-125MモデルをCodeSearchNet ChallengeデータセットのPython言語のみで因果言語モデリングを使用してファインチューニングしたモデルです。このモデルは、Python言語のメソッドを自動補完することに特化しています。
📦 インストール
このモデルをトレーニングするためのスクリプトは、こちらにあります。以下はトレーニングのコマンド例です。
./run_clm_flax.py \
--output_dir $HOME/gpt-neo-125M-code-search-py \
--model_name_or_path="EleutherAI/gpt-neo-125M" \
--dataset_name code_search_net \
--dataset_config_name="python" \
--do_train --do_eval \
--block_size="512" \
--per_device_train_batch_size="32" \
--per_device_eval_batch_size="64" \
--preprocessing_num_workers="8" \
--learning_rate="1.2e-4" \
--num_train_epochs 20 \
--warmup_steps 3000 \
--adam_beta1="0.9" \
--adam_beta2="0.95" \
--weight_decay="0.1" \
--overwrite_output_dir \
--logging_steps="25" \
--eval_steps="500" \
--push_to_hub="False" \
--report_to="all" \
--dtype="bfloat16" \
--skip_memory_metrics="True" \
--save_steps="500" \
--save_total_limit 10 \
--report_to="wandb" \
--run_name="gpt-neo-125M-code-search-py"
💻 使用例
基本的な使用法
このモデルは、テキスト生成パイプラインで直接使用できます。以下の例では、実行するたびに異なるシーケンスが生成されます。
from transformers import AutoModelForCausalLM, AutoTokenizer, FlaxAutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("flax-community/gpt-neo-125M-code-clippy-code-search-py")
tokenizer = AutoTokenizer.from_pretrained("flax-community/gpt-neo-125M-code-clippy-code-search-py")
prompt = """def greet(name):
'''A function to greet user. Given a user name it should say hello'''
"""
input_ids = tokenizer(prompt, return_tensors='pt').input_ids.to(device)
start = input_ids.size(1)
out = model.generate(input_ids, do_sample=True, max_length=50, num_beams=2,
early_stopping=True, eos_token_id=tokenizer.eos_token_id, )
print(tokenizer.decode(out[0][start:]))
📚 ドキュメント
トレーニングデータ
CodeSearchNet Challengeデータセットを使用しています。
トレーニング手順
トレーニングに使用されたスクリプトは、こちらにあります。
意図された使用法と制限事項
このモデルは、Python言語のメソッドを自動補完するために特化しています。特定のプロンプト(メソッドシグネチャとドキュメント文字列)を与えることで、Pythonメソッドを自動補完します。
制限事項とバイアス
このモデルは研究目的で使用することを意図しており、生成されるコードの品質については保証されません。
GPT-CCはGPT-Neoからファインチューニングされており、そのバイアスや制限事項を引き継いでいる可能性があります。詳細については、GPT-Neoモデルカードを参照してください。
🔧 技術詳細
このモデルは、GPT-Neo-125Mをベースに、CodeSearchNet ChallengeデータセットのPython言語のみを使用して因果言語モデリングでファインチューニングされています。これにより、Python言語のメソッドの自動補完に特化したモデルとなっています。
📄 ライセンス
原文書にライセンス情報は記載されていません。