Views
No views yet
| Parameter | Value |
|---|---|
| Base Model | google/gemma-3-12b-it (12.19B params) |
| Method | SFT with LoRA |
| LoRA r | 16 |
| LoRA alpha | 32 |
| Target Modules | q_proj, v_proj, k_proj, o_proj |
| Dataset Size | 1,664 samples (1,497 train / 167 eval) |
| Epochs | 4 |
| Learning Rate | 1e-5 |
| Batch Size | 8 (effective) |
| Hardware | 4x NVIDIA RTX 5090 |
| Training Time | ~37 minutes |
| Metric | Value |
|---|---|
| Eval Loss | 1.121 |
| Eval Accuracy | 75.1% |
| Train Loss | 0.34 |
1import torch
2from transformers import AutoTokenizer, AutoModelForCausalLM
3from peft import PeftModel
4
5# Load base model and adapter
6base_model = "google/gemma-3-12b-it"
7adapter = "tauken/gemma-3-12b-lithology-ru"
8
9tokenizer = AutoTokenizer.from_pretrained(base_model)
10model = AutoModelForCausalLM.from_pretrained(
11 base_model,
12 torch_dtype=torch.bfloat16,
13 device_map="auto"
14)
15model = PeftModel.from_pretrained(model, adapter)
16model.eval()
17
18# Generate description
19prompt = "Ты опытный геолог-эксперт. Опиши литологию керна. Скважина: ZHS_028_25, интервал: 94.5-101.9м."
20messages = [{"role": "user", "content": prompt}]
21text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
22inputs = tokenizer(text, return_tensors="pt").to(model.device)
23
24with torch.no_grad():
25 outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.7, do_sample=True)
26
27response = tokenizer.decode(outputs[0][inputs['input_ids'].shape[1]:], skip_special_tokens=True)
28print(response)В интервале 94.5-101.9м: Андезитовые порфириты от темно-коричнево-зеленого до серого цвета
с зеленоватым оттенком. Структура порфировая, текстура массивная. Основная масса
скрытокристаллическая, порфировые включения выполнены плагиоклазом таблитчатых,
полуокруглых форм размерами до 5х12мм, составляющие около 40-50% от общей массы.
Породы слабо, умеренно трещиноватые в количестве до 5-7 трещин на п.м., преимущественно
ориентированные под углом 30-70° к оси керна. Вторичные изменения представлены слабым
окварцеванием и серицитизацией по массе.
Рудная минерализация выполнена пиритом в виде вкраплений по массе.1@misc{tauken-lithology-2025,
2 author = {Tauken Team},
3 title = {Gemma-3-12B Lithology Description Model},
4 year = {2025},
5 publisher = {HuggingFace},
6 url = {https://huggingface.co/tauken/gemma-3-12b-lithology-ru}
7}