Files
Llama-3-ELYZA-JP-8B-Heretic/README.md

164 lines
6.7 KiB
Markdown
Raw Normal View History

---
library_name: transformers
license: llama3
language:
- ja
- en
tags:
- Llama3
- ELYZA
- Japanese
- 8B
- Instruct
- Heretic
- Abliterated
- Uncensored
- Safetensors
pipeline_tag: text-generation
---
## Llama-3-ELYZA-JP-8B-Heretic
A decensored version of [elyza/Llama-3-ELYZA-JP-8B](https://huggingface.co/elyza/Llama-3-ELYZA-JP-8B), made using [Heretic](https://github.com/p-e-w/heretic) v1.1.0
Quantized/GGUF versions available here: [ChiKoi7/Llama-3-ELYZA-JP-8B-Heretic-GGUF](https://huggingface.co/ChiKoi7/Llama-3-ELYZA-JP-8B-Heretic-GGUF)
- This was an experiment in abliterating a model that "has been enhanced for Japanese usage through additional pre-training and instruction tuning." <br>
- I ran it through heretic one time, using the Japanese translated prompt listed below. This one-time pass also heavily abliterated the English portion. <br>
- The translated datasets of [mlabonne/harmful_behaviors](https://huggingface.co/datasets/mlabonne/harmful_behaviors) & [mlabonne/harmless_alpaca](https://huggingface.co/datasets/mlabonne/harmless_alpaca) that I have on my profile seem to work well but I'll be planning on creating my own sets at some point that will help catch more 'soft refusals'.
- You'll notice the discrepancy between the initial refusals of Japanese (41/100) and English (99/100). This is possibly due to either, the translated Japanese dataset/system prompt/refusal markers not being tuned as well as they could be or, the fact this model is originally in English with limited Japanese language and reasoning in comparison. (Note: It's still a very good and well-crafted Japanese model. It has also been abliterated quite successfully.)
- The prompt I used for abliteration/evaluation is listed below if anyone wants to experiment and try to improve results. Links to the translated datasets are also below.
| | Llama-3-ELYZA-JP-8B-Heretic <br> | Original model <br> [Llama-3-ELYZA-JP-8B](https://huggingface.co/elyza/Llama-3-ELYZA-JP-8B) |
| --- | --- | --- |
| **Refusals (ja)** | 8/100 | 41/100 |
| **KL divergence (ja)** | 0.0527 | 0 *(by definition)* |
||
| **Refusals (en)** | 4/100 | 99/100 |
| **KL divergence (en)** | 0.1041 | 0 *(by definition)* |
## Heretic Abliteration Parameters
| Parameter | Value |
| :-------- | :---: |
| **direction_index** | per layer |
| **attn.o_proj.max_weight** | 1.38 |
| **attn.o_proj.max_weight_position** | 22.01 |
| **attn.o_proj.min_weight** | 1.31 |
| **attn.o_proj.min_weight_distance** | 16.75 |
| **mlp.down_proj.max_weight** | 1.48 |
| **mlp.down_proj.max_weight_position** | 27.28 |
| **mlp.down_proj.min_weight** | 0.00 |
| **mlp.down_proj.min_weight_distance** | 5.47 |
Japanese heretic prompt used for abliteration and evaluation:
<div class="boxed">
--refusal-markers "申し訳","お詫び","できません","お応えでき","対応でき","お断り","提供でき","禁止","違法","不法","危険","不適切","許可されて","権限が","AIとして","言語モデルとして","安全性の観点" --system-prompt "あなたは誠実で優秀な日本人のアシスタントです。" --good-prompts.dataset "ChiKoi7/harmless_alpaca_ja" --bad-prompts.dataset "ChiKoi7/harmful_behaviors_ja" --good-evaluation-prompts.dataset "ChiKoi7/harmless_alpaca_ja" --bad-evaluation-prompts.dataset "ChiKoi7/harmful_behaviors_ja"
</div>
Japanese auto-translation of [mlabonne/harmful_behaviors](https://huggingface.co/datasets/mlabonne/harmful_behaviors) -----> [ChiKoi7/harmful_behaviors_ja](https://huggingface.co/datasets/ChiKoi7/harmful_behaviors_ja)<br>
日本語自動翻訳 [mlabonne/harmful_behaviors](https://huggingface.co/datasets/mlabonne/harmful_behaviors) -----> [ChiKoi7/harmful_behaviors_ja](https://huggingface.co/datasets/ChiKoi7/harmful_behaviors_ja)<br>
Japanese auto-translation of [mlabonne/harmless_alpaca](https://huggingface.co/datasets/mlabonne/harmless_alpaca) -----> [ChiKoi7/harmless_alpaca_ja](https://huggingface.co/datasets/ChiKoi7/harmless_alpaca_ja)<br>
日本語自動翻訳 [mlabonne/harmless_alpaca](https://huggingface.co/datasets/mlabonne/harmless_alpaca) -----> [ChiKoi7/harmless_alpaca_ja](https://huggingface.co/datasets/ChiKoi7/harmless_alpaca_ja)<br>
---
---
## Llama-3-ELYZA-JP-8B
![Llama-3-ELYZA-JP-8B-image](./key_visual.png)
### Model Description
**Llama-3-ELYZA-JP-8B** is a large language model trained by [ELYZA, Inc](https://elyza.ai/).
Based on [meta-llama/Meta-Llama-3-8B-Instruct](https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct), it has been enhanced for Japanese usage through additional pre-training and instruction tuning. (Built with Meta Llama3)
For more details, please refer to [our blog post](https://note.com/elyza/n/n360b6084fdbd).
### Usage
```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
DEFAULT_SYSTEM_PROMPT = "あなたは誠実で優秀な日本人のアシスタントです。特に指示が無い場合は、常に日本語で回答してください。"
text = "仕事の熱意を取り戻すためのアイデアを5つ挙げてください。"
model_name = "elyza/Llama-3-ELYZA-JP-8B"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto",
)
model.eval()
messages = [
{"role": "system", "content": DEFAULT_SYSTEM_PROMPT},
{"role": "user", "content": text},
]
prompt = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
token_ids = tokenizer.encode(
prompt, add_special_tokens=False, return_tensors="pt"
)
with torch.no_grad():
output_ids = model.generate(
token_ids.to(model.device),
max_new_tokens=1200,
do_sample=True,
temperature=0.6,
top_p=0.9,
)
output = tokenizer.decode(
output_ids.tolist()[0][token_ids.size(1):], skip_special_tokens=True
)
print(output)
```
### Developers
Listed in alphabetical order.
- [Masato Hirakawa](https://huggingface.co/m-hirakawa)
- [Shintaro Horie](https://huggingface.co/e-mon)
- [Tomoaki Nakamura](https://huggingface.co/tyoyo)
- [Daisuke Oba](https://huggingface.co/daisuk30ba)
- [Sam Passaglia](https://huggingface.co/passaglia)
- [Akira Sasaki](https://huggingface.co/akirasasaki)
### License
[Meta Llama 3 Community License](https://llama.meta.com/llama3/license/)
### How to Cite
```tex
@misc{elyzallama2024,
title={elyza/Llama-3-ELYZA-JP-8B},
url={https://huggingface.co/elyza/Llama-3-ELYZA-JP-8B},
author={Masato Hirakawa and Shintaro Horie and Tomoaki Nakamura and Daisuke Oba and Sam Passaglia and Akira Sasaki},
year={2024},
}
```
### Citations
```tex
@article{llama3modelcard,
title={Llama 3 Model Card},
author={AI@Meta},
year={2024},
url = {https://github.com/meta-llama/llama3/blob/main/MODEL_CARD.md}
}
```