Shuu12121/github-file-programs-dataset-java
Viewer • Updated • 3.21M • 2.71k
How to use Shuu12121/CodeModernBERT-Crow-v3-len1024 with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("fill-mask", model="Shuu12121/CodeModernBERT-Crow-v3-len1024") # Load model directly
from transformers import AutoTokenizer, AutoModelForMaskedLM
tokenizer = AutoTokenizer.from_pretrained("Shuu12121/CodeModernBERT-Crow-v3-len1024")
model = AutoModelForMaskedLM.from_pretrained("Shuu12121/CodeModernBERT-Crow-v3-len1024")このモデルは、ModernBERT アーキテクチャに基づくコード特化型言語モデルです。
既存の事前学習済みモデル(ModernBERT-base など)の重みは使用せず、 githubより抽出したファイルレベルのデータで事前学習したモデルです.
アーキテクチャ: ModernBERT (base-sized)
学習状態: スクラッチ学習(Trained from scratch)
学習済み言語: Python, Java, JavaScript, TypeScript, Ruby, Rust, Go, PHP
パラメータ数: 約 150M
最大入力長:
主な特徴:
効果: 関数内における制御構造や変数の依存関係など、 コードの構造的な意味表現をより強く獲得できることを確認しています。
このモデルは fill-mask タスクとして直接利用できるほか、
ファインチューニングを行うことで意味的コード検索やコード理解タスクの
ベースモデルとして利用できます。
from transformers import AutoTokenizer, AutoModelForMaskedLM
#MLMモデルとして読み込む場合
tokenizer = AutoTokenizer.from_pretrained("Shuu12121/CodeModernBERT-Crow-v3-len1024")
model = AutoModelForMaskedLM.from_pretrained("Shuu12121/CodeModernBERT-Crow-v3-len1024")
Sentence-Transformersを用いてファインチューニングを行う場合の読み込み方
from sentence_transformers import SentenceTransformer,models
word_embedding_model = models.Transformer("Shuu12121/CodeModernBERT-Crow-v3-len1024")
word_embedding_model.max_seq_length = 1024
#CLSトークンを用いる場合pooling_mode_cls_tokenのみTrue
#平均プーリングを用いる場合 pooling_mode_mean_tokensのみTrue
pooling_model = models.Pooling(
word_embedding_model.get_word_embedding_dimension(),
pooling_mode_cls_token=True,
pooling_mode_mean_tokens=False,
pooling_mode_max_tokens=False,
pooling_mode_weightedmean_tokens=False,
pooling_mode_lasttoken=False,
)
model = SentenceTransformer(modules=[word_embedding_model, pooling_model])
そのほかのモデル