Instructions to use yasunotkt/damage-cause-encoder-v05 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use yasunotkt/damage-cause-encoder-v05 with PEFT:
from peft import PeftModel from transformers import AutoModelForSequenceClassification base_model = AutoModelForSequenceClassification.from_pretrained("cl-tohoku/bert-large-japanese-v2") model = PeftModel.from_pretrained(base_model, "yasunotkt/damage-cause-encoder-v05") - Notebooks
- Google Colab
- Kaggle
- Bridge Damage Cause Encoder v0.5 (QLoRA)
Bridge Damage Cause Encoder v0.5 (QLoRA)
橋梁損傷原因分類のための日本語BERTベースのQLoRAモデル
このモデルは、橋梁の損傷記述から原因を10カテゴリに分類する深層学習モデルです。RC床版、コンクリート桁橋、床版橋の診断ロジックPDFから抽出した因果トリプル(Si → Ci)を活用し、4-bit量子化LoRA(QLoRA)で効率的にファインチューニングされています。
モデル概要
| 項目 | 詳細 |
|---|---|
| ベースモデル | cl-tohoku/bert-large-japanese-v2 |
| アーキテクチャ | BertForSequenceClassification + QLoRA adapters |
| 量子化 | 4-bit NF4 (QLoRA) + FP16 classifier |
| LoRA設定 | r=16, α=32, dropout=0.1 |
| 訓練可能パラメータ | 7.1M (2.07%) |
| タスク | 10クラステキスト分類 |
| 言語 | 日本語 |
| ライセンス | Apache 2.0 |
性能指標
| データセット | Accuracy | F1 (weighted) | サンプル数 |
|---|---|---|---|
| Test Set (Golden) | 87.07% | 87.0% | 116 |
| Diverse Samples | 47.0% | - | 100 |
| Validation (Training) | 93.91% | 93.73% | 115 |
比較(v0.5実験結果):
- LoRA (FP16): Test 87.07%, Diverse 34.0%, 1.45 GB GPU
- QLoRA (4-bit): Test 87.07%, Diverse 47.0% ⭐, 0.40 GB GPU (-72%)
- QA-LoRA: Test 85.34%, Diverse 30.0%, 0.42 GB GPU
→ QLoRAが最善: 同等のテスト精度で、未見パターンへの汎化が13%向上、GPU使用量72%削減
損傷原因カテゴリ(10クラス)
| ID | カテゴリ | 説明 | 対象橋梁タイプ |
|---|---|---|---|
| 0 | 塩害 | 塩化物イオンによる鉄筋腐食 | RC床版、コンクリート桁橋、床版橋 |
| 1 | 凍害 | 凍結融解の繰り返しによる劣化 | RC床版、床版橋 |
| 2 | 土砂化 | コンクリートの土砂化現象 | RC床版、床版橋 |
| 3 | 疲労 | 繰り返し荷重による疲労亀裂 | RC床版 |
| 4 | 鉄筋腐食 | 鉄筋の腐食による損傷 | RC床版 |
| 5 | ASR | アルカリシリカ反応 | 床版橋 |
| 6 | ボイド管浮き陥没 | ボイド管の浮き上がりや陥没 | 床版橋 |
| 7 | 滞水 | 水の滞留による劣化 | 床版橋 |
| 8 | 連結桁 | 連結桁特有の損傷 | コンクリート桁橋、床版橋 |
| 9 | その他 | 上記以外の損傷原因 | コンクリート桁橋 |
使用方法
必要なライブラリ
pip install transformers peft torch bitsandbytes sentence-transformers faiss-cpu
推論コード
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
from peft import PeftModel, PeftConfig
# モデルとトークナイザーのロード
model_id = "yasunotkt/damage-cause-encoder-v05"
config = PeftConfig.from_pretrained(model_id)
base_model = AutoModelForSequenceClassification.from_pretrained(
config.base_model_name_or_path,
num_labels=10,
device_map="auto"
)
model = PeftModel.from_pretrained(base_model, model_id)
tokenizer = AutoTokenizer.from_pretrained(model_id)
# 推論
def predict_damage_cause(damage_description, context=""):
"""
損傷記述から原因を予測
Args:
damage_description: 損傷の記述(Si)
context: 関連する因果知識(Ci)。オプション。
Returns:
予測ラベルID、ラベル名、確率
"""
labels = ["塩害", "凍害", "土砂化", "疲労", "鉄筋腐食", "ASR",
"ボイド管浮き陥没", "滞水", "連結桁", "その他"]
# 入力テキストの作成
text = damage_description
if context:
text = f"{damage_description} {tokenizer.sep_token} {context}"
# トークナイズと推論
inputs = tokenizer(text, return_tensors="pt", max_length=512,
truncation=True, padding=True).to(model.device)
with torch.no_grad():
outputs = model(**inputs)
probs = torch.softmax(outputs.logits, dim=1)
pred_id = torch.argmax(probs, dim=1).item()
confidence = probs[0][pred_id].item()
return pred_id, labels[pred_id], confidence
# 使用例
damage_text = "床版下面に遊離石灰が白く析出し、鉄筋位置に沿って縦方向のひびわれが確認される"
pred_id, cause, conf = predict_damage_cause(damage_text)
print(f"予測原因: {cause} (ID: {pred_id})")
print(f"確信度: {conf:.2%}")
FAISSを使った文脈取得付き推論
完全な推論パイプライン(FAISS triple index + LLM filter + QLoRA)については、プロジェクトリポジトリをご覧ください: https://github.com/tk-yasuno/damage_cause_encoder
トレーニング詳細
データセット
- ソース: 35 PDF files(RC床版、コンクリート桁橋、床版橋の診断ロジック)
- 抽出トリプル: 6,745件(テキスト + 図表)
- トレーニングサンプル: 342件
- 検証サンプル: 115件
- テストセット(Golden): 116件(15 PDFから手動作成)
ハイパーパラメータ
base_model: cl-tohoku/bert-large-japanese-v2
quantization: 4-bit NF4 + double quantization
lora_r: 16
lora_alpha: 32
lora_dropout: 0.1
target_modules: [query, key, value, dense]
learning_rate: 2e-4
batch_size: 4
gradient_accumulation_steps: 8
epochs: 20
max_length: 512
optimizer: AdamW
loss_function: Weighted CrossEntropy (inverse frequency)
トレーニング環境
- GPU: NVIDIA RTX 4060 Ti 16GB
- CUDA: 12.6
- メモリ使用量: 0.40 GB (QLoRA)
- トレーニング時間: ~10分(20 epochs)
- フレームワーク: PyTorch 2.6.0, Transformers, PEFT, BitsAndBytes
アルゴリズムパイプライン
1. PDFからOCR抽出(PaddleOCR + pypdfium2)
↓
2. 因果トリプル抽出(Qwen2.5 7B)
↓
3. FAISS dense retrieval(hotchpotch/static-embedding-japanese)
↓
4. LLM relevance filter(Qwen2.5 7B)
↓
5. QLoRA分類器(本モデル)
↓
6. 損傷原因(10クラス)
制限事項と今後の展望
制限事項
- 日本語専用 - 橋梁診断の専門用語に特化
- 限定的なドメイン - RC床版、コンクリート桁橋、床版橋のみ
- 小規模データセット - 35 PDF、~400サンプル
- クラス不均衡 - 「塩害」が支配的(バランシング済み)
- 文脈依存 - 最適性能にはFAISSによる文脈取得が必要
v1.0での改善予定
- マルチモーダル融合(Vision Encoder + Text Encoder)
- ハイブリッド検索(BM25 + Dense + Reranker)
- より大規模なデータセット(100+ PDFs)
- テストセットによる厳密な評価(70/15/15 split)
引用
このモデルを研究で使用する場合は、以下を引用してください:
@software{damage_cause_encoder_v05,
title = {Damage Cause Encoder: Deep Learning for Bridge Damage Classification with QLoRA},
author = {Damage Cause Encoder Project Team},
year = {2026},
version = {0.5},
url = {https://github.com/tk-yasuno/damage_cause_encoder},
note = {QLoRA achieves 87.07\% test accuracy with 72\% GPU memory reduction}
}
関連リンク
- GitHub: https://github.com/tk-yasuno/damage_cause_encoder
- 詳細ドキュメント: LESSON_v05_LoRA_Comparison.md
- 実験レポート: RESULT_15pdf_10class_n428.md
謝辞
- ベースモデル: cl-tohoku/bert-large-japanese-v2 by Tohoku NLP Group
- PEFT/LoRA: Hugging Face PEFT library
- QLoRA: Tim Dettmers et al., arXiv:2305.14314
開発者: Damage Cause Encoder Project Team
最終更新: 2026-07-25
バージョン: v0.5
連絡先: GitHub Issues
Speeds, Sizes, Times [optional]
[More Information Needed]
Evaluation
Testing Data, Factors & Metrics
Testing Data
[More Information Needed]
Factors
[More Information Needed]
Metrics
[More Information Needed]
Results
[More Information Needed]
Summary
Model Examination [optional]
[More Information Needed]
Environmental Impact
Carbon emissions can be estimated using the Machine Learning Impact calculator presented in Lacoste et al. (2019).
- Hardware Type: [More Information Needed]
- Hours used: [More Information Needed]
- Cloud Provider: [More Information Needed]
- Compute Region: [More Information Needed]
- Carbon Emitted: [More Information Needed]
Technical Specifications [optional]
Model Architecture and Objective
[More Information Needed]
Compute Infrastructure
[More Information Needed]
Hardware
[More Information Needed]
Software
[More Information Needed]
Citation [optional]
BibTeX:
[More Information Needed]
APA:
[More Information Needed]
Glossary [optional]
[More Information Needed]
More Information [optional]
[More Information Needed]
Model Card Authors [optional]
[More Information Needed]
Model Card Contact
[More Information Needed]
Framework versions
- PEFT 0.19.1
- Downloads last month
- 11
Model tree for yasunotkt/damage-cause-encoder-v05
Base model
tohoku-nlp/bert-large-japanese-v2Papers for yasunotkt/damage-cause-encoder-v05
Quantifying the Carbon Emissions of Machine Learning
Evaluation results
- Test Accuracyself-reported87.070
- Diverse Sample Accuracyself-reported47.000