Owl-ph2-base-len512 / README.md
Shuu12121's picture
Update README.md
51ad7f9 verified
metadata
license: apache-2.0
datasets:
  - Shuu12121/ruby-treesitter-filtered-datasetsV2
  - Shuu12121/rust-treesitter-filtered-datasetsV2
  - Shuu12121/python-treesitter-filtered-datasetsV2
  - Shuu12121/typescript-treesitter-filtered-datasetsV2
  - Shuu12121/javascript-treesitter-filtered-datasetsV2
  - Shuu12121/php-treesitter-filtered-datasetsV2
  - Shuu12121/go-treesitter-dedupe_doc-filtered-dataset
  - Shuu12121/java-treesitter-dedupe_doc-filtered-dataset
language:
  - en
pipeline_tag: fill-mask
tags:
  - code
  - python
  - java
  - javascript
  - ruby
  - rust
  - go
  - php
  - typescript
  - modernbert

Owl-ph2-base (512)🦉

このモデルは、ModernBERT アーキテクチャに基づくコード特化型言語モデルです。

既存の事前学習済みモデル(ModernBERT-base など)の重みは使用せず、 8 言語を含む自前のデータセットである, Owl コーパス(約 855 万件の関数ペア)を用いて、 ランダム初期化状態から事前学習(scratch training) を行っています。 学習時の入力長を512トークンにしたバージョンで,Owl-ph1-base (512)から継続事前学習を行った段階2の状態のモデルです

使用方法

このモデルは fill-mask タスクとして直接利用できるほか、 ファインチューニングを行うことで意味的コード検索やコード理解タスクの ベースモデルとして利用できます。

from transformers import AutoTokenizer, AutoModelForMaskedLM
#MLMモデルとして読み込む場合
tokenizer = AutoTokenizer.from_pretrained("Shuu12121/Owl-ph2-base-len512")
model = AutoModelForMaskedLM.from_pretrained("Shuu12121/Owl-ph2-base-len512")

Sentence-Transformersを用いてファインチューニングを行う場合の読み込み方

from sentence_transformers import SentenceTransformer,models

word_embedding_model = models.Transformer("Owl-ph2-base-len512")
word_embedding_model.max_seq_length = 512
#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])

そのほかのモデル