File size: 5,644 Bytes
ce95292
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
aa9660e
 
 
ce95292
 
6a3b5d6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ce95292
 
 
 
 
6a3b5d6
ce95292
 
 
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
---
license: apache-2.0
language:
- en
- ja
pipeline_tag: text-generation
library_name: transformers
base_model: pfnet/plamo-2-1b
tags:
- mlx
---

# mlx-community/plamo-2-1b-bf16

The Model [mlx-community/plamo-2-1b-bf16](https://huggingface.co./mlx-community/plamo-2-1b-bf16) was
converted to MLX format from [pfnet/plamo-2-1b](https://huggingface.co./pfnet/plamo-2-1b)
using mlx-lm version **0.21.5**.

## Use with mlx

```bash
# numba is required for the new PLaMo tokenizer
pip install mlx numba
pip install -U 'git+https://github.com/mitmul/mlx-examples.git@mitmul/fix-plamo2#egg=mlx-lm&subdirectory=llms'
```

```bash
python -m mlx_lm.generate \
--model mlx-community/plamo-2-1b-bf16 \
--prompt '## ็พŽๅ‘ณใ—ใ„ใ‚ซใƒฌใƒผใฎไฝœใ‚Šๆ–น:\n' \
--ignore-chat-template \
--max-tokens 1024 \
--extra-eos-token '<|plamo:bos|>' \
--temp 0.7 \
--seed 0
Fetching 8 files: 100%|โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 8/8 [00:00<00:00, 68338.97it/s]
==========

### ๆ‰‹้ †1๏ผš้ฃŸๆใฎ่ณผๅ…ฅใจๆบ–ๅ‚™
ใ‚ซใƒฌใƒผใฎๆๆ–™ใ‚’้›†ใ‚ใพใ—ใ‚‡ใ†ใ€‚
- ใ‚ธใƒฃใ‚ฌใ‚คใƒข 2 ๅ€‹
- ็Ž‰ใญใŽ 2 ๅ€‹
- ใƒ‘ใƒ—ใƒชใ‚ซ ๏ผ‘ๅ€‹
- ใƒ‹ใƒณใƒ‹ใ‚ฏ 3 ็‰‡
- ใ‚นใƒ‘ใ‚คใ‚น๏ผˆใ‚ฏใƒŸใƒณใ€ใ‚ณใƒชใ‚ขใƒณใƒ€ใƒผใ€ใ‚ฌใƒฉใƒ ใƒžใ‚ตใƒฉใชใฉ๏ผ‰
- ใ‚ซใƒฌใƒผ็ฒ‰
- ๆฐด
- ๅกฉ
- ๆฒน
- ใ‚ซใƒฌใƒผใƒซใƒผ

### ๆ‰‹้ †2๏ผš้ฉๅˆ‡ใช้‡Ž่œใฎๆบ–ๅ‚™
ใ™ในใฆใฎๆๆ–™ใ‚’ๆด—ใฃใฆใ€่–„ๅˆ‡ใ‚Šใซใ—ใพใ™ใ€‚
- ใ‚ธใƒฃใ‚ฌใ‚คใƒขใ‚’ใใ‚Œใ„ใซๆด—ใ„ใ€ๅ››ใคๅˆ‡ใ‚Šใซใ—ใพใ™ใ€‚
- ็Ž‰ใญใŽใ‚’ใใ‚Œใ„ใซๆด—ใ„ใ€ใ‚นใƒฉใ‚คใ‚นใ—ใพใ™ใ€‚
- ใƒ‘ใƒ—ใƒชใ‚ซใ‚’ๆด—ใฃใฆใ€ใ‚นใƒฉใ‚คใ‚นใ—ใพใ™ใ€‚
- ใซใ‚“ใซใใ‚’่–„ใใ‚นใƒฉใ‚คใ‚นใ—ใพใ™ใ€‚

### ๆ‰‹้ †3๏ผšใ‚นใƒ‘ใ‚คใ‚นใฎๆบ–ๅ‚™
ใ‚นใƒ‘ใ‚คใ‚นใ‚’ๆบ–ๅ‚™ใ—ใพใ™๏ผš
- ใ‚ฏใƒŸใƒณใ€ใ‚ณใƒชใ‚ขใƒณใƒ€ใƒผใ€ใ‚ฌใƒฉใƒ ใƒžใ‚ตใƒฉใชใฉใ€ๅ„ใ‚นใƒ‘ใ‚คใ‚นใ‚’้‡ใซๅฟœใ˜ใฆใใ‚Œใžใ‚Œๆบ–ๅ‚™ใ—ใพใ™ใ€‚

### ๆ‰‹้ †4๏ผš้‡Ž่œใฎใ‚ฝใƒ†ใƒผ
้‡Ž่œใ‚’ใ‚ฝใƒ†ใƒผใ—ใพใ™๏ผš
- ไธญ็ซใงๅคงใใช้‹ใ‚’็†ฑใ—ใ€ๆฒนใ‚’็†ฑใ—ใพใ™ใ€‚
- ไธญ็ซใ‹ใ‚‰ไธญ็ซใงใ€ๆฒนใŒ็†ฑใใชใ‚Šใ™ใŽใชใ„็จ‹ๅบฆใซ็†ฑใ—ใพใ™ใ€‚
- ็Ž‰ใญใŽใจใ‚นใƒฉใ‚คใ‚นใ—ใŸใƒ‘ใƒ—ใƒชใ‚ซใ‚’ๅŠ ใˆใ€ๆ™‚ใ€…ใ‹ใๆททใœใชใŒใ‚‰ใ€ๆŸ”ใ‚‰ใ‹ใใชใ‚‹ใพใง็‚’ใ‚ใพใ™ใ€‚

### ๆ‰‹้ †5๏ผšใ‚นใƒ‘ใ‚คใ‚นใ‚’็‚’ใ‚ใ‚‹
ใ‚นใƒ‘ใ‚คใ‚นใ‚’ๅŠ ใˆใ‚‹๏ผš
- ใ‚ฏใƒŸใƒณใ€ใ‚ณใƒชใ‚ขใƒณใƒ€ใƒผใ€ใ‚ณใƒชใ‚ขใƒณใƒ€ใƒผใƒปใ‚ฌใƒฉใƒ ใƒžใ‚ตใƒฉใชใฉใฎใ‚นใƒ‘ใ‚คใ‚นใ‚’ๅŠ ใˆใ€ใ‚นใƒ‘ใ‚คใ‚นใŒๆบถใ‘ใ‚‹ใพใงใ‹ใๆททใœใพใ™ใ€‚

### ๆ‰‹้ †6๏ผšใ˜ใ‚ƒใŒใ„ใ‚‚ใ‚’็‚’ใ‚ใ‚‹
ใ˜ใ‚ƒใŒใ„ใ‚‚ใ‚’็‚’ใ‚ใ‚‹๏ผš
- ใ‚ธใƒฃใ‚ฌใ‚คใƒขใ‚’็†ฑใ—ใŸๆฒนใฎไธญใซใใฃใจๅ…ฅใ‚Œใ€ๆ™‚ใ€…ใ‹ใๆททใœใชใŒใ‚‰ใ€ๅบ•ใŒ็„ฆใ’ใชใ„ใ‚ˆใ†ใซใ—ใพใ™ใ€‚

### ๆ‰‹้ †7๏ผšๆๆ–™ใ‚’ๆททใœใ‚‹
ๆๆ–™ใ‚’ๆททใœใ‚‹:
- ็…ฎ่พผใ‚“ใ ใ‚ธใƒฃใ‚ฌใ‚คใƒขใ‚’้‹ใซๆˆปใ—ใ€ใใ“ใซใ‚นใƒ‘ใ‚คใ‚นใ‚’ๅŠ ใˆใŸๆฐดใจๅกฉใ‚’ๅŠ ใˆใ€ๅกฉใ‚’ๅคงใ•ใ˜1/2ๅŠ ใˆใพใ™ใ€‚

### ๆ‰‹้ †8๏ผš็…ฎ่พผใ‚€
็…ฎ่พผใ‚€๏ผš
- ็ซใ‚’ๅผฑใ‚ใ€ใ‹ใๆททใœใชใŒใ‚‰ใ‚†ใฃใใ‚Šใจ็…ฎ่พผใฟใพใ™ใ€‚
- ็ด„10ๅˆ†้–“ใ€ๆ™‚ใ€…ใ‹ใๆททใœใชใŒใ‚‰ใ€ๆฐดๅˆ†ใŒ่ถณใ‚Šใชใใชใ‚‹ใพใง็…ฎ่พผใฟใพใ™ใ€‚
- ๆฐดใฎ้‡ใ‚’ๅคงใ•ใ˜1/2ๆธ›ใ‚‰ใ—ใ€ๆฎ‹ใ‚Šใฎๆฐดใ‚’ๅŠ ใˆใพใ™ใ€‚

### ๆ‰‹้ †9๏ผšๅ‘ณใ‚’่ชฟใˆใ‚‹
ๅ‘ณใ‚’่ชฟใˆใ‚‹๏ผš
- ๅกฉใ€ใƒใ‚ฟใƒผใ€ใ‚ฟใƒผใƒกใƒชใƒƒใ‚ฏใ‚’้‡Ž่œใซๆŒฏใ‚Šใ‹ใ‘ใพใ™ใ€‚
- ใ‚ซใƒฌใƒผใŒๅ‡บๆฅไธŠใŒใฃใŸใ‚‰ใ€ๅฐ้บฆ็ฒ‰ใ‹ใ‚ณใƒผใƒณใ‚นใ‚ฟใƒผใƒใงใจใ‚ใฟใ‚’ใคใ‘ใพใ™ใ€‚

### ๆ‰‹้ †10๏ผš็››ใ‚Šไป˜ใ‘
็››ใ‚Šไป˜ใ‘๏ผš
- ๅฎŒๆˆใ—ใŸใ‚ซใƒฌใƒผใ‚’ใŠ็šฟใซๆณจใŽใ€ใ‚ณใ‚ณใƒŠใƒƒใƒ„ใƒŸใƒซใ‚ฏใ‚’ใ‹ใ‘ใฆๅ‡บๆฅไธŠใŒใ‚Šใพใ™ใ€‚

ใ“ใ‚Œใ‚‰ใฎๆ‰‹้ †ใซๅพ“ใ†ใ“ใจใงใ€็พŽๅ‘ณใ—ใ„่‡ชๅฎถ่ฃฝใ‚คใƒณใƒ‰ใ‚ซใƒฌใƒผใ‚’ไฝœใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚

### ใ‚คใƒณใƒ‰ใ‚ซใƒฌใƒผใฎใƒฌใ‚ทใƒ”ใซ้–ขใ™ใ‚‹ใ‚ˆใใ‚ใ‚‹่ณชๅ•

Q1: ใ‚ซใƒฌใƒผใฎๆๆ–™ใฏไฝ•ใงใ™ใ‹๏ผŸ
A1: ใ‚ซใƒฌใƒผใฎๆๆ–™ใฏใ€้‡Ž่œใ€้ฆ™่พ›ๆ–™ใ€ใ‚นใƒ‘ใ‚คใ‚นใ€ใ‚นใƒ‘ใ‚คใ‚นใ€ๆฐดใ€ๅกฉใ€ใƒใ‚ฟใƒผใ€ๅฐ้บฆ็ฒ‰ใ€ๆฒนใชใฉใงใ™ใ€‚ใปใจใ‚“ใฉใฎใ‚ซใƒฌใƒผใซใฏใ“ใ‚Œใ‚‰ใฎๆๆ–™ใŒไฝฟใ‚ใ‚Œใฆใ„ใพใ™ใ€‚

Q2: ใ‚ซใƒฌใƒผใ‚’ใŠใ„ใ—ใใ™ใ‚‹ๆ–นๆณ•ใฏ๏ผŸ
A2: ใ‚ซใƒฌใƒผใ‚’ใŠใ„ใ—ใใ™ใ‚‹ๆ–นๆณ•ใฏใ€ใ‚นใƒ‘ใ‚คใ‚นใ‚’ใพใ‚“ในใ‚“ใชใไฝฟใ†ไบ‹ใจใ€ใ‚ซใƒฌใƒผใฎไฝœใ‚Šๆ–นใงใ™ใ€‚ไพ‹ใˆใฐใ€ใ‚ฏใƒŸใƒณใ€ใ‚ณใƒชใ‚ขใƒณใƒ€ใƒผใ€ใ‚ฟใƒผใƒกใƒชใƒƒใ‚ฏใ€ใ‚ซใƒซใƒ€ใƒขใƒณใ€ใ‚ฏใƒญใƒผใƒ–ใ€ใƒ•ใ‚งใƒŒใ‚ฐใƒชใƒผใ‚ฏใ€ใƒใƒชใ€ใ‚ฌใƒฉใƒ ใƒžใ‚ตใƒฉใชใฉใŒไธ€่ˆฌ็š„ใซไฝฟใ‚ใ‚Œใฆใ„ใพใ™ใ€‚

Q3: ใชใœใ‚ซใƒฌใƒผใ‚’ไฝœใ‚‹ใฎใงใ™ใ‹๏ผŸ
A3: ใชใœใ‚ซใƒฌใƒผใ‚’ไฝœใ‚‹ใฎใ‹ใจใ„ใ†ใจใ€ใ‚ซใƒฌใƒผใฏ็พŽๅ‘ณใ—ใใฆใ€ๅฅๅบท็š„ใ ใ‹ใ‚‰ใงใ™ใ€‚ใพใŸใ€ๆง˜ใ€…ใชใ‚นใƒ‘ใ‚คใ‚นใ‚„ใƒใƒผใƒ–ใ€่ชฟๅ‘ณๆ–™ใ‚’็ต„ใฟๅˆใ‚ใ›ใ‚‹ใ“ใจใงใ€ๆง˜ใ€…ใช้ขจๅ‘ณใ‚„ๅŠนๆžœใ‚’ๅพ—ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚

Q4: ใ‚ซใƒฌใƒผใ‚’่’ธใ™ใฎใงใ™ใ‹๏ผŸ
A4: ใ„ใ„ใˆใ€ใ‚ซใƒฌใƒผใ‚’่’ธใ™ใฎใฏไธ€่ˆฌ็š„ใงใฏใ‚ใ‚Šใพใ›ใ‚“ใŒใ€ๅฟ™ใ—ใ„ๆ™‚ใ‚„ใƒ‡ใ‚ถใƒผใƒˆใจใ—ใฆ้ฃŸในใ‚‹ๅ ดๅˆใฏใ€้‡Ž่œใ‚„ใƒ•ใƒซใƒผใƒ„ใ€ใƒŠใƒƒใƒ„ใ‚’่’ธใ—ใฆไฝœใ‚‹ใ“ใจใŒๅ‡บๆฅใพใ™ใ€‚

Q5: ใ‚ซใƒฌใƒผใฎไฝœใ‚Šๆ–นใ‚’ๆ•™ใˆใฆใใ ใ•ใ„ใ€‚
A5: ใ‚ซใƒฌใƒผใฎไฝœใ‚Šๆ–นใ‚’ๆ•™ใˆใฆใใ ใ•ใ„ใ€‚ใ‚นใƒ‘ใ‚คใ‚นใ‚’็†ฑใ—ใฆใ€้ฃŸๆใ‚’้ฉๅˆ‡ใซ่ชฟ็†ใ—ใฆใ€่ชฟ็†ใ—ใŸใ‚นใƒ‘ใ‚คใ‚นใจใ‚นใƒ‘ใ‚คใ‚นใ‚’ๆฐดใ€ๅกฉใ€ใƒใ‚ฟใƒผใ€ๅฐ้บฆ็ฒ‰ใ€ๆฒนใ€ใ‚ฏใƒชใƒผใƒ ใ€ใƒšใƒผใ‚นใƒˆใชใฉใ‚’ๅŠ ใˆใฆ็…ฎ่พผใ‚€ใ ใ‘ใงใ™ใ€‚
==========
Prompt: 8 tokens, 156.478 tokens-per-sec
Generation: 738 tokens, 86.598 tokens-per-sec
Peak memory: 2.741 GB
```

You can also write your code to use this model like this:
```python
from mlx_lm import load, generate

model, tokenizer = load("mlx-community/plamo-2-1b-bf16")

prompt = "็พŽๅ‘ณใ—ใ„ใ‚ซใƒฌใƒผใฎไฝœใ‚Šๆ–นใฎใƒฌใ‚ทใƒ”ใ‚’็ดนไป‹ใ—ใพใ™ใ€‚"

response = generate(model, tokenizer, prompt=prompt, verbose=True)
```