104 lines
4.6 KiB
Markdown
104 lines
4.6 KiB
Markdown
---
|
|
license: apache-2.0
|
|
library_name: transformers
|
|
base_model: Qwen/Qwen3-4B
|
|
pipeline_tag: text-generation
|
|
tags:
|
|
- moral reasoning
|
|
- value reasoning
|
|
- persona
|
|
- chain-of-thought
|
|
language:
|
|
- ms
|
|
---
|
|
|
|
# Model Card for MET-D-Qwen3-4B-ms-only
|
|
|
|
MET-D-Qwen3-4B-ms-only is a Malay-only moral reasoning model fine-tuned from [Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B). Given a moral dilemma, a character description, and a candidate action, it judges the action from that character's perspective and explains its judgment with an explicit chain-of-thought before answering. Moral dilemmas rarely have a single correct answer, which makes reasoning traces hard to verify. We address this by introducing a character perspective that yields a ground-truth answer, which is used for rejection-sampling the model's own reasoning traces, conditioned on a per-language, per-situation selection of theoretical grounds. Both the reasoning trace and the final answer are generated in Malay.
|
|
|
|
## Model Details
|
|
|
|
- **Base model:** Qwen/Qwen3-4B
|
|
- **Task:** for a given `(situation, character description, action)` triple, answer two questions from the character's perspective:
|
|
1. Is the action acceptable? (`Yes` / `No` / `Ambiguous`)
|
|
2. Would (not) doing it be emotionally/mentally discomforting? (`Yes` / `No`)
|
|
- **Training data:** self-generated reasoning traces, rejection-sampled against the ground truth per character perspective, in Malay only
|
|
- **Language coverage:** this checkpoint is trained on **Malay only**. The multilingual model and other single-language variants are also available (see [Model Variants](#model-variants) below).
|
|
- **License:** Apache 2.0 (inherited from the base model)
|
|
|
|
## How to Get Started
|
|
|
|
```python
|
|
from transformers import AutoTokenizer
|
|
from vllm import LLM, SamplingParams
|
|
|
|
model_id = "launch/MET-D-Qwen3-4B-ms-only"
|
|
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
|
llm = LLM(model=model_id, max_model_len=16384)
|
|
|
|
situation = "..." # the moral dilemma narrative
|
|
character = "..." # the character description
|
|
action = "..." # the candidate action to judge
|
|
|
|
prompt = f"""Saya akan memberikan anda dilema moral dan membentangkan anda dengan penerangan watak dan soalan.
|
|
Jawapan untuk soalan pertama hendaklah Ya, Tidak, atau Ambiguous, dan jawapan untuk soalan kedua hendaklah Ya atau Tidak.
|
|
Anda harus mematuhi format output dengan ketat, kerana ia akan dihuraikan secara automatik.
|
|
Pastikan anda mengeluarkan "Sebab:" dan "Jawapan:" untuk semua 2 soalan.
|
|
|
|
Dilema Moral:
|
|
{situation}
|
|
|
|
Perihalan Watak:
|
|
{character}
|
|
|
|
soalan:
|
|
1. Dari perspektif A, adakah tindakan berikut — sudah dijalankan, dianggap perlu diambil, boleh dianggap diambil, atau disoal dalam konteks situasi — dianggap boleh diterima? "{action}"
|
|
2. Jika jawapan sebelumnya ialah ya, adakah A mendapati melakukan tindakan itu secara mental atau emosi tidak selesa? Sebaliknya, jika jawapan sebelumnya adalah tidak, adakah A mendapati tidak melakukan tindakan itu secara mental atau emosi tidak selesa?
|
|
|
|
Jawapan anda:
|
|
1. Sebab: {{Sebab}} Jawapan: {{Ya/Tidak/Ambiguous}}
|
|
2. Sebab: {{Sebab}} Jawapan: {{Ya/Tidak}}
|
|
"""
|
|
|
|
chat_prompt = tokenizer.apply_chat_template(
|
|
[{"role": "user", "content": prompt}],
|
|
tokenize=False,
|
|
add_generation_prompt=True,
|
|
)
|
|
|
|
sampling_params = SamplingParams(temperature=0.0, max_tokens=2048)
|
|
outputs = llm.generate(chat_prompt, sampling_params)
|
|
print(outputs[0].outputs[0].text)
|
|
```
|
|
|
|
## Model Variants
|
|
|
|
This checkpoint is part of the [MET collection](https://huggingface.co/collections/launch/met), which includes the same task across base models and language subsets:
|
|
|
|
| Repo | Base model | Language(s) |
|
|
|---|---|---|
|
|
| `launch/MET-D-Qwen3-4B` | Qwen3-4B | all 6 (mixed) |
|
|
| `launch/MET-D-Qwen3-4B-en-only` | Qwen3-4B | English only |
|
|
| `launch/MET-D-Qwen3-4B-es-only` | Qwen3-4B | Spanish only |
|
|
| `launch/MET-D-Qwen3-4B-hi-only` | Qwen3-4B | Hindi only |
|
|
| `launch/MET-D-Qwen3-4B-ko-only` | Qwen3-4B | Korean only |
|
|
| `launch/MET-D-Qwen3-4B-ms-only` | Qwen3-4B | Malay only |
|
|
| `launch/MET-D-Qwen3-4B-zh-only` | Qwen3-4B | Chinese only |
|
|
| `launch/MET-D-Qwen3-8B` | Qwen3-8B | all 6 (mixed) |
|
|
| `launch/MET-D-Qwen3-8B-en-only` | Qwen3-8B | English only |
|
|
| `launch/MET-D-Gemma3-4B` | Gemma-3-4B-it | all 6 (mixed) |
|
|
| `launch/MET-D-Gemma3-4B-en-only` | Gemma-3-4B-it | English only |
|
|
|
|
## Citation
|
|
|
|
If you use this, please cite:
|
|
|
|
```bibtex
|
|
@article{lee2026met,
|
|
title={MET: Theory-Grounded and Culture-Aware Multilingual Moral Reasoning},
|
|
author={Lee, Ayoung and Kwon, Ryan and Zhang, Yunxiang and Liu, Yuxuan and Railton, Peter and Wang, Lu},
|
|
journal={arXiv preprint arXiv:2607.11736},
|
|
year={2026}
|
|
}
|
|
```
|