transformers llama text-generation ja license:llama2 autotrain_compatible endpoints_compatible text-generation-inference region:us
---
license: llama2
language:
- ja
---

The English document is [here](https://huggingface.co/watashiha/Watashiha-Llama-2-13B-Ogiri-sft-neuron/blob/main/README_en.md)

## モデル概要
[Watashiha-Llama-2-13B-Ogiri-sft](https://huggingface.co/watashiha/Watashiha-Llama-2-13B-Ogiri-sft)をAWSの[inf2インスタンス](https://aws.amazon.com/jp/ec2/instance-types/inf2/)で動作するようにコンパイルされたモデルです。  

コンパイルは以下の記事を参考に行いました。  
https://huggingface.co/docs/optimum-neuron/tutorials/llama2-13b-chatbot


* License: [LLAMA 2 COMMUNITY LICENSE](https://github.com/facebookresearch/llama/blob/main/LICENSE)


## 使用方法

1. AWS EC2で**inf2.xlarge**のインスタンスを立てる。  
   モデルのダウンロードで50GBほど必要になるので、ストレージのサイズは256GB以上に設定しておくのをおすすめします。  
   AMIは以下のものを使用してください。  
   **Deep Learning AMI Neuron PyTorch 1.13 (Ubuntu 20.04) 20240102**

2. 以下のコマンドを実行し、用意されているpython環境を有効にする。  
```bash
source /opt/aws_neuron_venv_pytorch/bin/activate
```

3. **optimum**をインストールする。  
```bash
pip install optimum[neuronx]
```

4. 上記の手順を終えたら、以下のソースコードを実行。
```python
from optimum.neuron import NeuronModelForCausalLM
from transformers import AutoTokenizer

model_name = "watashiha/Watashiha-Llama-2-13B-Ogiri-sft-neuron"
tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=True)
model = NeuronModelForCausalLM.from_pretrained(model_name)

odai = "マジシャンのショーでアシスタントが消えたまま戻ってこない時の一言。"
text = f"""
以下は、タスクを説明する指示と、文脈のある入力の組み合わせです。要求を適切に満たす応答を書きなさい。

### 指示:
入力の文は大喜利のお題です。お題に沿った面白いボケを生成してください。

### 入力:
{odai}

### 応答:
"""
text = text.lstrip()

token_ids = tokenizer.encode(text, return_tensors="pt")
input_len = token_ids.shape[1]
output_ids = model.generate(
    token_ids,
    max_length=input_len + 64,
    do_sample=True,
    top_p=0.9,
    top_k=50,
    temperature=0.8,
    pad_token_id=tokenizer.pad_token_id,
    eos_token_id=tokenizer.eos_token_id,
)
output = tokenizer.decode(output_ids.tolist()[0], skip_special_tokens=True)
print(output)
"""
以下は、タスクを説明する指示と、文脈のある入力の組み合わせです。要求を適切に満たす応答を書きなさい。

### 指示:
入力の文は大喜利のお題です。お題に沿った面白いボケを生成してください。

### 入力:
マジシャンのショーでアシスタントが消えたまま戻ってこない時の一言。

### 応答:
もうアシスタントいらなくない？
"""
```

### コンパイルのパラメータ

#### input_shapes
```
{
    "batch_size": 1,
    "sequence_length": 1024,
}
```

#### compiler_args
```
{
    "num_cores": 2,
    "auto_cast_type": 'bf16',
}
```
