超久々のMeta発オープンウェイトモデルですね!
昨日x.comをぼんやり眺めていると、Unslothさんの投稿にて「Muse Glimmerの量子化モデルを用意したぞ!」という情報がありまして、いざのぞいてみるとなんとまぁ、Metaから出ていたMuseシリーズにGlimmerというオープンウェイトモデルが出てたんですね!というわけで、構造について調べてみました。
比較的オーソドックスだが、工夫の跡がそこかしこに

ざっくり見ると実はハイブリッドモデルではありますが、典型的なGroup Query Attention構造がベースになっています。工夫しているところとしては、そのGQAがSigmoid付きGated Outputを持っていること、Sliding Windowを使用して局所的な注意を確保するSliding Attention、そして統合役であるFull AttentionにはPositional Encodingを使わないと言う所が挙げられます。
モデルのコードは https://github.com/huggingface/transformers/tree/main/src/transformers/models/muse_glimmer に掲載されていますが、その中でRoPEを使う際、θが0の場合はNoPEと判断してPositional Encoding処理を行わないように構成されています。そのため、分の一情報はすべてそれぞれのSliding Attentionが握ることになります。それを統合管理することのみをFull Attentionレイヤーにはお任せしたようです。
そのことを示しているのが、以下のようなRoPE設定箇所です。RoPEθの値は50,000のようなのですが、Full Attentionが差し込まれる個所が0となっており、このように値を0とすることで、RoPE処理をする・しないが切り替えられる構造になってるようでした。(この情報は https://huggingface.co/meta-models/Muse-Glimmer-30B/blob/main/config.jsonから得ています。)
{
"architectures": [
"MuseGlimmerForConditionalGeneration"
],
"dtype": "bfloat16",
"image_token_id": 200092,
"model_type": "muse_glimmer",
"out_hidden_size": 6144,
"projector_hidden_act": "gelu",
"projector_hidden_size": 4096,
"text_config": {
"attention_bias": false,
"attention_dropout": 0.0,
"bos_token_id": 200000,
"eos_token_id": 200001,
"final_logit_softcapping": 20.0,
"head_dim": 128,
"hidden_activation": "silu",
"hidden_size": 6656,
"initializer_range": 0.02,
"intermediate_size": 19968,
"layer_rope_theta": [
500000.0,
500000.0,
500000.0,
0,
500000.0,
500000.0,
500000.0,
0,
500000.0,
500000.0,
500000.0,
0,
500000.0,久々のオープンウェイトモデルは、Metaの意地を見せたといえるかも。
Muse Sparkは結構戦力になるLLMでしたが、果たしてMuse Glimmerはどうでしょう?残念ながら当方には現状実行可能な環境がないため、指をくわえてしょんぼりするにとどまりますが、Artificial Analysisを見る限りでは、それなりの位置づけまで上がってきたようです。Gemma-4-31Bよりも上に上がってるようなので、私自身ちょいと気になってはいます(コーディングタスク、私はあんまり興味がなく、どちらかというとDeepResearchをしたい側なので)
やっぱGPUもそれなりのVRAMがないと厳しいですね。何とか家計的にもう少しましな状況にしていかないと、厳しいなぁ・・・そうしてる間にもGPUの価格が高騰しまくりなので、毎日が泣きっ面に八でございます・・・ぴえん。


コメント