🚀 Kexerモデル
Kexerモデルは、一連のオープンソースの生成型テキストモデルです。これらのモデルは、Kotlin Exercicesデータセットで微調整されています。このリポジトリには、微調整後のDeepseek-coder-1.3bモデルがHugging Face Transformers形式で格納されています。
🚀 クイックスタート
Kexerモデルは、テキスト生成タスクに使用できます。以下に使用例を示します。
💻 使用例
基本的な使用法
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = 'JetBrains/deepseek-coder-1.3B-kexer'
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name).to('cuda')
input_text = """\
This function takes an integer n and returns factorial of a number:
fun factorial(n: Int): Int {\
"""
input_ids = tokenizer.encode(
input_text, return_tensors='pt'
).to('cuda')
output = model.generate(
input_ids, max_length=60, num_return_sequences=1,
early_stopping=True, pad_token_id=tokenizer.eos_token_id,
)
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
print(generated_text)
高度な使用法
基本モデルと同様に、FIMを使用することができます。これを実現するには、以下の形式を使用する必要があります。
'<|fim▁begin|>' + prefix + '<|fim▁hole|>' + suffix + '<|fim▁end|>'
📚 ドキュメント
学習設定
このモデルは、1台のA100 GPUで学習され、以下のハイパーパラメータが使用されました。
ハイパーパラメータ |
値 |
warmup |
10% |
max_lr |
1e - 4 |
scheduler |
linear |
total_batch_size |
256(1ステップあたり約130Kトークン) |
num_epochs |
4 |
微調整に関する詳細な情報は、技術レポート(近日公開予定!)で確認できます。
微調整データ
このモデルを微調整するために、合成生成されたKotlin Exercicesデータセットの15K個のサンプルが使用されました。各サンプルはHumanEval形式に従っています。このデータセットには、合計で約350万トークンが含まれています。
評価
評価には、Kotlin HumanEvalデータセットが使用されました。このデータセットには、HumanEvalのすべての161個のタスクが人間の専門家によってKotlinに翻訳されています。評価結果を得るために必要な前処理の詳細(実行コードを含む)は、データセットページで確認できます。
以下は評価結果です。
モデル名 |
Kotlin HumanEval合格率 |
Deepseek-coder-1.3B |
26.71 |
Deepseek-coder-1.3B-Kexer |
36.65 |
倫理的な考慮事項と制限事項
Deepseek-coder-1.3B-Kexerは新しい技術であり、使用にはリスクが伴います。これまでに行われたテストは、すべてのシナリオを網羅していないし、網羅することも不可能です。したがって、他の大規模言語モデルと同様に、Deepseek-coder-1.3B-Kexerの潜在的な出力は事前に予測できません。場合によっては、このモデルはユーザーの入力に対して不正確または不快な応答を返す可能性があります。このモデルは特定のデータ形式(Kotlinタスク)で微調整されているため、この形式から逸脱すると、ユーザーのクエリに対する応答が不正確または望ましくないものになる可能性があります。したがって、Deepseek-coder-1.3B-Kexerを使用するアプリケーションをデプロイする前に、開発者は具体的なアプリケーションに合わせてモデルの安全性をテストし、調整する必要があります。
📄 ライセンス
このプロジェクトは、Apache-2.0ライセンスの下で提供されています。