File size: 2,850 Bytes
9556b3a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
---
base_model:
- Shuu12121/CodeModernBERT-Crow-v2
license: apache-2.0
datasets:
- Shuu12121/python-treesitter-filtered-datasetsV2
- Shuu12121/javascript-treesitter-filtered-datasetsV2
- Shuu12121/ruby-treesitter-filtered-datasetsV2
- Shuu12121/go-treesitter-dedupe_doc-filtered-dataset
- Shuu12121/java-treesitter-dedupe_doc-filtered-dataset
- Shuu12121/rust-treesitter-filtered-datasetsV2
- Shuu12121/php-treesitter-filtered-datasetsV2
- Shuu12121/typescript-treesitter-filtered-datasetsV2
language:
- en
pipeline_tag: fill-mask
---

# Shuu12121/CodeModernBERT-Crow-Func-v2🐦‍⬛

`Shuu12121/CodeModernBERT-Crow-v2` をベースモデルとして、**関数レベルで抽出されたGitHub コード関数データセット**を用いて、追加の事前学習(continued pre-training)を行ったものです。

今回の追加事前学習では、**line-level span-masking** を使用し、関数内部の構造的情報(制御構造・宣言・局所文脈)をより深く理解できるように最適化しています。これにより、コード検索・コード埋め込み生成・関数レベルの意味理解において、ベースモデルよりも優れた表現能力を発揮することを目的としています。

---

## ベースモデル(Crow-v2)との違い

前モデルである **Shuu12121/CodeModernBERT-Crow-v2** は、以下のような **ファイルレベル (file-level)** の大規模ソースコードコーパスを用いて事前学習しました。

* GitHub から収集した 8 言語(Python / Java / JavaScript / Go / Ruby / Rust / PHP / TypeScript)のファイル単位コード
* トップレベル定義・関数定義・クラス定義などが混在した構造
* ファイル特有の文脈(import、依存関係、設定、ファイル全体の責務)を学習可能

これにより、Crow-v2 は **広い文脈 (global context) を捉える能力に優れたモデル**として設計しています。

---

## 本モデル(Crow-Func-v2)のポイント

Crow-Func-v2 は、このファイルレベルの事前学習済みモデルをベースとしつつ、
さらに **関数レベル (function-level)** のデータセットを用いて continued pre-training を行った点が特徴です。

これにより次の改善が期待できます。

### 1. retrieval tasks に対する特化

関数検索・類似関数検出・コードクローン解析など、
**function-level embedding を用いるタスクでの性能向上**が期待されます。

### 2. file-level + function-level の二段構え学習

Crow-v2(file-level)で大域的構造を学び、
Crow-Func-v2(function-level)で局所的意味理解を強化することで、
多粒度(multi-granularity)のコード理解能力を獲得することを期待しています。