File size: 1,522 Bytes
8c61d9b
 
 
5d88b09
c8db51a
 
8c61d9b
 
 
ba41472
 
 
c7734b0
ba41472
ca5a86c
 
 
 
ba41472
 
c7734b0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ba41472
 
 
c7734b0
ba41472
 
 
 
 
 
 
c7734b0
 
 
 
 
 
ba41472
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
---
title: will
colorFrom: gray
colorTo: gray
sdk: streamlit
sdk_version: 1.41.1
app_file: app.py
pinned: false
---

# WILL

言語モデルの構造が、人間の入力なしに出力するものを観測する実験的アプリケーション。

## デモ

https://huggingface.co/spaces/matt1847/will

## 使い方

1. **MODEL** ドロップダウンでモデルを選択
2. **LISTEN** ボタンをクリック
3. ランダムノイズがモデルに入力され、生成結果が表示される
4. 上部の波形画像は入力ノイズと出力Logitsの可視化
5. 下部のテキストは生成されたトークン列

## 対応モデル

| モデル | パラメータ | 特徴 |
|--------|-----------|------|
| GPT-2 | 124M-355M | OpenAI |
| GPT-Neo | 125M | EleutherAI |
| OPT | 125M | Meta |
| Pythia | 410M-1B | EleutherAI, 完全オープン |
| OLMo | 1B-7B | Allen AI, 完全オープン |
| BLOOM | 560M | BigScience, 多言語 |
| Llama 3.2 | 1B-3B | Meta |
| Qwen2.5 | 0.5B-1.5B | Alibaba |
| Mistral | 7B | Mistral AI |
| GPT-OSS | 20B | OpenAI, MoE |

## 仕組み

1. **入力ノイズ生成**: ランダムノイズをEmbedding層に直接注入
2. **出力ノイズ加算**: Logitsにノイズを加算し、学習済みの統計的偏りを破壊
3. **生デコード**: Softmax/Temperatureなしでargmaxでトークンを抽出

## ローカル実行

```bash
pip install -r requirements.txt

# Gradio版
python app.py

# Streamlit版(バックアップ)
streamlit run app_streamlit.py
```