File size: 11,623 Bytes
b0e475c
120ded9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
792d34a
b0e475c
 
120ded9
b0e475c
 
792d34a
b0e475c
120ded9
b0e475c
120ded9
b0e475c
120ded9
 
b0e475c
120ded9
 
 
 
b0e475c
120ded9
b0e475c
120ded9
 
 
 
b0e475c
 
 
 
120ded9
 
 
 
b0e475c
120ded9
 
b0e475c
 
120ded9
 
b0e475c
 
 
120ded9
 
b0e475c
120ded9
 
 
b0e475c
120ded9
 
 
b0e475c
d855c3e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120ded9
b0e475c
120ded9
 
 
 
 
 
 
 
 
b0e475c
 
 
120ded9
b0e475c
 
9286937
 
 
b0e475c
120ded9
9286937
 
120ded9
b0e475c
f474ba7
9286937
 
f474ba7
120ded9
b0e475c
f474ba7
 
 
9286937
 
f474ba7
 
 
 
 
 
 
 
 
 
 
 
9286937
f474ba7
 
 
120ded9
f474ba7
 
bc2d8d0
f474ba7
120ded9
f474ba7
120ded9
b0e475c
f474ba7
 
 
9286937
 
f474ba7
3e84d87
bc2d8d0
f474ba7
bc2d8d0
 
 
3e84d87
bc2d8d0
 
3e84d87
bc2d8d0
 
 
 
 
 
f474ba7
 
bc2d8d0
 
120ded9
b0e475c
f474ba7
 
 
9286937
 
f474ba7
bc2d8d0
 
 
 
120ded9
b0e475c
9286937
120ded9
9286937
 
 
 
 
 
 
 
120ded9
 
 
 
 
b0e475c
120ded9
 
 
 
 
 
 
b0e475c
120ded9
b0e475c
120ded9
 
030a0c1
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
---
base_model:
- Qwen/Qwen2.5-32B-Instruct
datasets:
- Thaweewat/thai-med-pack
language:
- th
- en
library_name: transformers
pipeline_tag: text-generation
tags:
- text-generation-inference
- sft
- trl
- 4-bit precision
- bitsandbytes
- LoRA
- Fine-Tuning with LoRA
- LLM
- GenAI
- medical
- medtech
- HealthGPT
- NT Academy
- minddatatech
---

# 🇹🇭 **Model Card for Qwen2.5-32B-Instruct-medical-tuned**
<!-- Provide a quick summary of what the model is/does. -->

## <font color="red">ℹ️ This version is significantly better than OpenThaiGPT!!.</font>

## Qwen2.5-32B-Instruct for Thai Medical QA

This model is fine-tuned from `Qwen2.5-32B-Instruct` using Supervised Fine-Tuning (SFT) on the `Thaweewat/thai-med-pack` dataset. It is designed for medical question-answering tasks in Thai, providing accurate and contextual answers based on medical information.

## Model Description
This model was fine-tuned using Supervised Fine-Tuning (SFT) to enhance its capabilities for medical question answering in Thai. The base model is `Qwen2.5-32B-Instruct`, which has been optimized with domain-specific knowledge using the `Thaweewat/thai-med-pack` dataset.

- **Model type:** Causal Language Model (AutoModelForCausalLM)
- **Language(s):** Thai
- **Fine-tuned from model:** Qwen2.5-32B-Instruct
- **Dataset used for fine-tuning:** Thaweewat/thai-med-pack

### Model Sources

- **Repository:** https://huggingface.co/amornpan
- **Citing Repository:** https://huggingface.co/Aekanun
- **Base Model:** https://huggingface.co/Qwen/Qwen2.5-32B-Instruct
- **Dataset:** https://huggingface.co/datasets/Thaweewat/thai-med-pack

## Uses

### Direct Use
The model can be used directly for generating medical responses in Thai. It has been optimized for:
- Medical question-answering
- Providing clinical information
- Health-related dialogue generation

### Downstream Use
This model serves as a foundational model for medical assistance systems, chatbots, and applications related to healthcare in the Thai language.

### Out-of-Scope Use
- This model should not be used for real-time diagnosis or emergency medical scenarios.
- It should not be relied upon for critical clinical decisions without human oversight, as it is not intended to replace professional medical advice.

## Bias, Risks, and Limitations

### Bias
- The model may reflect biases present in the dataset, especially regarding underrepresented medical conditions or topics.

### Risks
- Responses may contain inaccuracies due to the model's inherent limitations and the dataset used for fine-tuning.
- The model should not be used as the sole source of medical advice.

### Limitations
- Primarily limited to the medical domain.
- Sensitive to prompts and may generate off-topic responses for non-medical queries.

# Model Training Statistics

## Training Summary
- **Total Steps:** 1050
- **Total Epochs:** 98.25
- **Validation Checks:** 42
- **Epoch with Lowest Validation Loss:** 93.57

## Performance Improvement
- **Training Loss Reduction:** 45.32%
- **Validation Loss Reduction:** 35.97%
- **Final Training Loss:** 1.0060
- **Lowest Validation Loss:** 1.1385

## Loss Values
| Metric | Initial | Final | Minimum |
|--------|---------|-------|---------|
| **Training Loss** | 1.8398 | 1.0060 | 1.0060 |
| **Validation Loss** | 1.7782 | 1.1386 | 1.1385 |


## Model Training Results:

![image/png](https://cdn-uploads.huggingface.co/production/uploads/663ce15f197afc063058dc3a/umzKEBp8lxBCp4nEieIIl.png)
![image/png](https://cdn-uploads.huggingface.co/production/uploads/663ce15f197afc063058dc3a/Z0pU0MVz4AhSq3B5dT_fn.png)
![image/png](https://cdn-uploads.huggingface.co/production/uploads/663ce15f197afc063058dc3a/c_lqB3jiJl_Os-l7j-7NB.png)
![image/png](https://cdn-uploads.huggingface.co/production/uploads/663ce15f197afc063058dc3a/IwyhjvmDO5WdQZvZEWT9J.png)
![image/png](https://cdn-uploads.huggingface.co/production/uploads/663ce15f197afc063058dc3a/gXjnNDSPw01VEWTBbr-2Z.png)
![image/png](https://cdn-uploads.huggingface.co/production/uploads/663ce15f197afc063058dc3a/V5WPYa27EOiEcxelgBJEd.png)
![image/png](https://cdn-uploads.huggingface.co/production/uploads/663ce15f197afc063058dc3a/KKM2qxjbnsu-ixImTWJgu.png)
![image/png](https://cdn-uploads.huggingface.co/production/uploads/663ce15f197afc063058dc3a/sTE-lYpLR9YLG3b8OdCdt.png)
![image/png](https://cdn-uploads.huggingface.co/production/uploads/663ce15f197afc063058dc3a/jYV5qz_ZPFvZW7P-Q1BGy.png)

## How to Get Started with the Model

This section provides a step-by-step guide to loading and using the model for generating medical responses in Thai.


# Qwen 2.5 32B Thai Medical Model

## Installation Requirements

```python
# Install required libraries if not already installed
pip install transformers torch peft
```

## Import Required Libraries

```python
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
```

In this cell, we import the necessary libraries from the Hugging Face Transformers package.

## Configure 4-bit Quantization

```python
# Configure quantization settings
bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_compute_dtype="float16",
    bnb_4bit_use_double_quant=True,
    bnb_4bit_quant_type="nf4"
)
```

This cell configures 4-bit quantization to reduce the memory footprint of the model.

## Load Model and Tokenizer

```python
# Load the model directly
model_name = "amornpan/V3_qwen2.5-32b-med-thai-optimized"
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    quantization_config=bnb_config,
    device_map="auto",
    trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
```

In this cell, we load the pre-trained Qwen 2.5 32B Thai medical model.

## Create Testing Function

```python
# Function to test the model
def test_model(prompt, max_new_tokens=256):
    system_prompt = "You are a question answering assistant. Answer the question as truthful and helpful as possible. คุณคือผู้ช่วยตอบคำถาม จงตอบคำถามอย่างถูกต้องและมีประโยชน์ที่สุด"
    full_prompt = f"system\n{system_prompt}\nuser\n{prompt}\nassistant\n"
    
    inputs = tokenizer(full_prompt, return_tensors="pt").to(model.device)
    
    # Generate
    generated_ids = model.generate(
        **inputs,
        max_new_tokens=max_new_tokens,
        do_sample=True,
        temperature=0.7,
        top_p=0.9,
    )
    
    response = tokenizer.decode(generated_ids[0], skip_special_tokens=False)
    # Extract only the assistant's response
    assistant_response = response.split("assistant\n")[-1].split("")[0]
    
    return assistant_response
```

This function handles the generation of responses.

## Test with Example Question

```python
# Test with a single example
example_question = "อาการของโรคเบาหวานมีอะไรบ้าง"
print(f"\nคำถาม: {example_question}")
response = test_model(example_question)
print(f"คำตอบ: {response}")
```

## Output
```python
คำถาม: อาการของโรคเบาหวานมีอะไรบ้าง
คำตอบ: สวัสดี โรคเบาหวานเป็นโรคทางระบบเมตาบอลิซึม โดยเกิดจากภาวะการผลิตฮอร์โมนอินซูลินไม่เพียงพอ
หรือร่างกายไม่สามารถใช้อินซูลินได้อย่างมีประสิทธิภาพ ทำให้ระดับน้ำตาลในเลือดสูงขึ้น ซึ่งอาจนำไปสู่ความเสียหายของอวัยวะต่างๆ
ในร่างกายได้ โดยเฉพาะหัวใจ เลือด เยื่อบุตา และไต เมื่อระดับน้ำตาลในเลือดสูงขึ้นมากขึ้นเรื่อยๆ จะมีอาการทางคลินิก เช่น
1. มีปัสสาวะบ่อย ปัสสาวะมาก เนื่องจากต้องขับน้ำตาลออกทางปัสสาวะ
2. กระหายน้ำมาก เนื่องจากมีปัสสาวะมาก
3. อ่อนแรง หมดแรง

คำถาม: การรักษาโรคความดันโลหิตสูงทำอย่างไร
คำตอบ: สวัสดี ความดันโลหิตสูงสามารถรักษาได้โดยการใช้ยาหลายชนิด เช่น เบนโซเพอรีซิน, อะโมโลนิด, ลิโซโปรตาซอล, อีลาฟอร์เท็ต,
อัลฟูราลิท, อะเซติซิลดิโพราเมต, อาราคานา, อาเนอโรนิก, อาเซติซิลสัมพันธ์, อาเนอโรนิก, อะเซติซิลสัมพันธ์ เป็นต้น
คุณสามารถปรึกษาแพทย์ผู้เชี่ยวชาญในเรื่องนี้เพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับยาดังกล่าว หวังว่าคำตอบของฉันจะเป็นประโยชน์สำหรับคุณ
ขอให้คุณมีสุขภาพที่ดี ขอบคุณที่เลือกใช้บริการของเรา หากคุณมีคำถามใด ๆ

คำถาม: ยา Paracetamol มีผลข้างเคียงอะไรบ้าง
คำตอบ: Paracetamol เป็นยาแก้ปวดและลดไข้ที่ใช้กันอย่างแพร่หลาย ซึ่งมีผลข้างเคียงน้อยกว่ายาแก้ปวดชนิดอื่นๆ โดยทั่วไปจะไม่มีผลข้างเคียงใดๆ
หากใช้ในขนาดที่แนะนำ แต่อาจพบได้ เช่น ปวดท้อง อาเจียน และรู้สึกคลื่นไส้ นอกจากนี้ หากใช้ในปริมาณที่มากเกินไป อาจทำให้มีอาการปัสสาวะขุ่น
มีสีเหลืองเข้ม เบื่ออาหาร คลื่นไส้ อาเจียน ปวดท้อง ปวดหัว ตาเหลือง หรือปัสสาวะสีเข้มเป็นสีชาโคล่า
หากมีอาการดังกล่าวควรหยุดการใช้ยาและรีบไปพบแพทย์เพื่อตรวจหาความเสียหายของตับจากยา
โดยการตรวจการทำงานของตับ ซึ่งหากพบว่ามีอาการของโรคตับวายเฉียบพลัน
```

### 👤 **Authors**

* Amornpan Phornchaicharoen ([email protected])
* Aekanun Thongtae ([email protected])
* Montita Somsoo ([email protected])