File size: 7,266 Bytes
afd4b73
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
{
  "model": "phonon-31m-en",
  "upstream": {
    "model": "gradium/phonon-31m-en",
    "revision": "52433c46975bfa13144c56204c9f4ee1c5b148aa",
    "voices": {
      "repo": "gradium/phonon-voices",
      "revision": "0ee17205f254b5abc43b266c8a0f215565c352f7"
    },
    "official": true,
    "license": "apache-2.0 (model card front matter and License section; phonon-voices card front matter)",
    "files_sha256": {
      "gradium/phonon-31m-en:model.safetensors": "8a04cf833cfe69b67c2ec968b2d31244655b9accc84ade9c0ebcc176f2074607",
      "gradium/phonon-31m-en:config.json": "7062ea376e6b158543c8abec8e5af67df171c49ad70eb7e2a0fb25c16f265e06",
      "gradium/phonon-31m-en:tokenizer.json": "691a00068fa7b989f2f3e5ae5daa2d1a5bb319f2d5360deafcfb19a8bb6e7936",
      "gradium/phonon-31m-en:tokenizer.model": "82e4572006d64d483317074c22c368e87779640b6f3a9dcd07b7caae32b030ce",
      "gradium/phonon-31m-en:default-voice.safetensors": "f739e8c4c76ee7f92e7c94a82002748c8cd22e99582ac49f7b9b94cd63786e18",
      "gradium/phonon-31m-en:README.md": "00f09ecdcd23ed9904f3a503baecc1f0c77515637ce6172b572ed3f50ce50c29",
      "gradium/phonon-voices:voices/LMDIYE0Oa377Qh6Z.safetensors": "45c582673cb20edb04ddcca2b5a8865ddfb0a82599efadb269021e87d20fbdd4",
      "gradium/phonon-voices:voices.jsonl": "874f34998ce581b94f2b8912aa015639f52b5fd62eba3ba11e1b64dcaed7d802",
      "gradium/phonon-voices:README.md": "0186c7d586a9594db1e0283cb68e84e88bbd9bc3c29047cf0083c7483556f3ee"
    },
    "loader": "recipes/_phonon.py load_weights: model.safetensors (bf16 flow LM, f32 Mimi decoder) -> float32, load_state_dict(strict=True) into a module whose keys equal the checkpoint's"
  },
  "versions": {
    "python": "3.12.15+meta",
    "torch": "2.14.1+cpu",
    "torchao": "0.18.0+cpu",
    "executorch": "1.5.1+cpu",
    "executorch_git": "3b60683923245cf472b7323426920e15623ba361",
    "transformers": "5.19.0",
    "huggingface_hub": "2.2.0"
  },
  "export": {
    "api": "torch.export.export(strict=False) -> to_edge_transform_and_lower(partitioner=[WebGPUPartitioner(...)]) -> to_executorch()",
    "partitioner": {
      "flow_lm": "WebGPUPartitioner(compile_options={'require_dynamic_shapes': True, 'force_fp16': False}), dynamic S in [1, 128]",
      "mimi": "WebGPUPartitioner() (default compile options, static shapes)"
    },
    "dtype": "float32 (bf16 checkpoint weights converted exactly)",
    "quantization": "none",
    "model_code": "recipes/_phonon.py FlowLMProgram, MimiStepProgram"
  },
  "files": {
    "phonon_flow_lm.pte": {
      "bytes": 111847044,
      "sha256": "178698a6c4539ba48c93bd74c4165586c1da4fdd393bd144c27fd09d80021ad7"
    },
    "phonon_mimi.pte": {
      "bytes": 41304196,
      "sha256": "d7acdf2d93ba4897e63b58d933c7425f49cf855ecbd1a6f51e273c5dd65bb3cc"
    },
    "phonon_text_embed.bf16.bin": {
      "bytes": 4097024,
      "sha256": "7c6f3394fc86b55ed181ff0b9d2472cf0371d3feeac25a5d0f2eed0a3a2eaae1"
    },
    "phonon_bos_embed.f32.bin": {
      "bytes": 2048,
      "sha256": "a4464c50596adea27c8f0457124ead461202dc2f67daf3c6dbbc289cf289fd32"
    },
    "voice_default.f32.bin": {
      "bytes": 256000,
      "sha256": "d8a8ffc97e46c0330ef6a3842130b95cc5ee71759f66bb54bc2ec0b79fc36e57"
    },
    "voice_en_us_easton.f32.bin": {
      "bytes": 256000,
      "sha256": "1d6ec67cbd3a45b2bacf84ff7ddfb184fd9e8467c2204f2eac0f4975c354b66b"
    },
    "tokenizer.json": {
      "bytes": 277967,
      "sha256": "691a00068fa7b989f2f3e5ae5daa2d1a5bb319f2d5360deafcfb19a8bb6e7936"
    },
    "phonon.json": {
      "bytes": 8599,
      "sha256": "e8fa6604769aeb3b63e95c44c912f7ae635a324ca3793ec62fca017346521750"
    }
  },
  "graph": {
    "flow_lm": {
      "non_delegated_kernels": {},
      "delegates": [
        {
          "id": "VulkanBackend",
          "ops": {
            "et_vk.prepack.default": 23,
            "sym_size.int": 1,
            "et_vk.select_as_symint.default": 1,
            "aten.view_copy.default": 106,
            "aten.linear.default": 60,
            "aten.sub.Tensor": 12,
            "et_vk.rms_norm.default": 12,
            "aten.add.Tensor": 47,
            "aten.slice_copy.Tensor": 38,
            "et_vk.apply_rotary_emb_hf.default": 6,
            "sdpa_with_kv_cache.default": 6,
            "aten.gelu.default": 6,
            "aten.select_copy.int": 1,
            "aten.native_layer_norm.default": 8,
            "aten.sigmoid.default": 7,
            "aten.mul.Tensor": 20,
            "aten.unsqueeze_copy.default": 1
          },
          "inputs": 3,
          "outputs": 3
        }
      ]
    },
    "mimi": {
      "non_delegated_kernels": {},
      "delegates": [
        {
          "id": "VulkanBackend",
          "ops": {
            "et_vk.prepack.default": 34,
            "aten.mul.Tensor": 18,
            "aten.add.Tensor": 32,
            "aten.view_copy.default": 30,
            "aten.linear.default": 9,
            "aten.clone.default": 14,
            "aten.unsqueeze_copy.default": 9,
            "aten.convolution.default": 12,
            "aten.squeeze_copy.dims": 12,
            "aten.slice_copy.Tensor": 35,
            "aten.cat.default": 21,
            "aten.cos.default": 2,
            "aten.sin.default": 2,
            "aten.permute_copy.default": 12,
            "aten.native_layer_norm.default": 4,
            "aten.neg.default": 4,
            "aten.sub.Tensor": 15,
            "aten.bmm.default": 4,
            "aten._softmax.default": 2,
            "aten.gelu.default": 2,
            "aten.relu.default": 10,
            "aten.clamp.default": 10,
            "aten.exp.default": 10
          },
          "inputs": 16,
          "outputs": 16
        }
      ]
    }
  },
  "webgpu_runtime_checks": {
    "op_list": "checked against --runtime-ops",
    "flow_lm": {
      "problems": [],
      "ok": true,
      "notes": {
        "value_kinds": [
          "Bool",
          "Double",
          "FLOAT32",
          "INT32",
          "Int",
          "IntList",
          "Null",
          "String",
          "SymInt",
          "ValueList"
        ],
        "aten.linear input ranks": [
          "2"
        ],
        "sdpa_with_kv_cache q/k_cache": [
          "((1, 128, 8, 64), (1, 512, 8, 64), 'SymInt')"
        ]
      }
    },
    "mimi": {
      "problems": [],
      "ok": true,
      "notes": {
        "value_kinds": [
          "Bool",
          "Double",
          "FLOAT32",
          "Int",
          "IntList",
          "Null",
          "String",
          "ValueList"
        ],
        "aten.linear input ranks": [
          "2"
        ],
        "aten.convolution input/weight": [
          "((1, 128, 1, 480), (128, 64, 1, 8))",
          "((1, 128, 482), (64, 128, 3))",
          "((1, 128, 96), (256, 128, 1))",
          "((1, 256, 1, 96), (256, 128, 1, 10))",
          "((1, 256, 98), (128, 256, 3))",
          "((1, 32, 1920), (64, 32, 1))",
          "((1, 512, 1, 1), (512, 1, 1, 32))",
          "((1, 512, 1, 16), (512, 256, 1, 12))",
          "((1, 512, 22), (512, 512, 7))",
          "((1, 64, 1922), (1, 64, 3))",
          "((1, 64, 1922), (32, 64, 3))",
          "((1, 64, 480), (128, 64, 1))"
        ]
      }
    }
  },
  "command": "python recipes/phonon-31m-en.py --out out/phonon-31m-en"
}