シンギュラリティ実験ノート

購入した1000ドルPCで何がどこまでできるのか実験した記録です。

Phi-4は小型で優秀なAIアシスタント

先日はClaude 3.5 Sonnetを使い、ビットコインのストックフロー比率を理論的に求めてみた。今回はローカルLLMとしてMicrosoftのPhi-4が動くようになったので、このAIをアシスタントとして、ビットコインのストックフローモデルを独自に検証し、予測したビットコイン価格をグラフに描いてみたい。

 

ローカルLLM動作環境

  • Windows11
  • UIはJan(v0.5.13)を使用
  • 使用モデルはphi-4-Q6_K.gguf 11.2GB

Phi-4はOllamaでも動いているが、私の環境ではJanを使うと16GB以下のモデルならGPUを認識してちょっとだけ回答が早くなるはずなのでこちらを使用した。

使用モデルは下記サイトからダウンロードした。

ストックフロー比率

腕試しにストックフロー比率のグラフをPhi-4に描かせてみた。すぐに5トークン/秒くらいで回答してくれるのでストレスはない。先日と同じプロンプトを与えたところ、何箇所か修正が必要であったがグラフを描くことができた。14BクラスのローカルLLMだが、Phi-4はコーディングに関しては優秀で期待できそうだ。

なお、ストックフローモデルとストックフロー比率について知りたい方は私の以下の記事を参照いただきたい。

ビットコイン時価総額とストックフロー比率の関係

PlanB氏が提唱するストックフローモデルでは、時価総額とストックフロー比率の間には「冪則」が成り立つ。つまり時価総額とストックフロー比率の間に両対数軸上で比例関係が成り立つ。説明のためPlanB氏作成のグラフを引用する。

 

https://miro.medium.com/v2/resize:fit:828/format:webp/1*joJoDFQbGcfVHjvx05TTGQ.png

PlanB氏のグラフでは時価総額yとストックフロー比率xの関係は以下の式となっていた。

 \ln(y)=3.31954\ln(x)+14.6227

 y=\exp(14.6)\times x^{3.3}

 

まずこの法則がビットコイン誕生後から現時点までのデータで成り立つのか検証した。

過去のBTC価格はネットから収集した。計算で求めた項目は以下の項目である。

  • 日付  :2009年1月をBTC誕生月とする
  • ストック:BTC総発行枚数(フローの累計)
  • フロー :年間BTC発行枚数 初年度の計算式は 365.25×24×60×50÷10 とし、4年毎に発行枚数は半減する
  • ストックフロー比率:ストック÷フロー

計算方法は基本的に前回の通りであるが、以下の部分を修正している。

  • 初年度の1ブロック生成の報酬を25BTCとしていたが、正しくは50であった。
  • 半減期の出現タイミングを3.99年毎(計算上は4年毎)としていたが、実際に発生した半減期の時期を採用した。半減期後の周期は1年間隔となるよう補正した。
    採用した半減期は以下の通り
    ・2012年12月
    ・2016年7月
    ・2020年5月
    ・2024年4月

BTC総発行枚数にその時点のBTC価格を掛ければ時価総額が計算できる。計算で求めた時価総額とストックフロー比率を両軸対数で散布図に表示し、最小二乗法で一次関数に近似してみた。

近似計算により一次関数は以下のように求まった。決定係数R2は0.968となった。

 \ln(y)=3.66\ln(x)+13.27

 y=\exp(13.27)\times x^{3.66}

 

ビットコイン価格と予測価格の重ね書き

上記の式からストックフロー比率に対応した時価総額を計算できる。この予測時価総額とストック(BTC総発行枚数)からBTC1枚あたりの価格(予測価格)を計算できる。この計算は表計算ソフトで簡単にできる。

  • 時価総額(Marcket-cap):1BTCの価格(BTC-Price)×BTC総発行枚数(Stock)
  • 予測時価総額(Pred-MC): \exp(13.27)\times ストックフロー比率(S2F)^{3.66}
  • 予測価格(Pred-Price):予測時価総額(Pred-MC)÷BTC総発行枚数(Stock)

結果は以下のようになった。

 

このデータをタブ区切りファイルとして保存し、保存データを使い、実際のBTC価格とBTC予測価格を重ね書きした。

求まったグラフは、アメリカの以下のサイトで掲載されているチャートとほぼ同じ結果になった。

時価総額(Marcket-cap)と予測した時価総額(Pred-MC)を重ねると以下の通り。2024年4月時点ではほぼ予測値通りだ。従ってこの時点では適正な時価総額で適正なBTC価格だったと思われる。

Phi-4への依頼プロンプト

表計算ソフトの計算は自分で行ったが、それ以外の冪則の検証や、重ね書きグラフの作成は全てPhi-4にコードの作成をお願いした。具体的には以下のように依頼した。

冪則の検証

BTC時価総額をy、ストックフロー比率をxとする
ln(y)=Y、ln(x)=Xとして、Y=aX+bとなる最適なaとbを最小二乗法で求め、更に決定係数も求めよ
y=exp(b)*x^a となることからx=1から1000までのyを計算し、散布図に表示せよ

グラフの重ね書き

Pythonでグラフを作成する
入力
・カレントディレクトリにある以下のタブ区切りファイル
・BTC-USD.tsv 項目名は以下の通り
 ・Date:日付 フォーマットはYYYY-MM-DD
 ・Open:月足初値
 ・Close:月足終値
 ・High:月足高値
 ・Close:月足底値
・BTC-USD-MC.tsv 項目名は以下の通り
 ・Date:日付 フォーマットはYYYY-MM-DD
 ・BTC-Price;BTC価格 単位ドル
 ・Stock:BTC総発行枚数
 ・Flow:BTC年間発行枚数
 ・Marcket-cap:BTC時価総額 単位ドル
 ・S2F:ストックフロー比率
 ・Pred-MC:予測時価総額 単位ドル
 ・Pred-Price:予測BTC価格
出力
・X軸リニアで西暦2010を開始とし、Y軸対数でBTC月足初値と予測BTC価格を重ね書きする

Phi-4は頼んだ仕事はこなしてくれるので、自分で判断できる「AIエージェント」とまでは言えないが、優秀な「AIアシスタント」だ。

まとめ

求まった結果は、アメリカのサイトに掲載されているチャートとほぼ同じであった。では私の努力は無駄だったのかというとそんなことはない。自分で検証してみたことでより理解が深まった。

ビットコイン誕生以降のストックフロー比率と時価総額には「冪則」が成り立っている。現在の時価総額は決して高すぎるものではない。むしろ予測される時価総額よりも低いレベルにあるとチャートは示している。この結果をどう捉えるべきだろうか。

2つの捉え方がある。「そもそも時価総額がストック比率に応じて無限に上がるとするモデルには無理があり、時価総額の上限に達しているからだ。」というストックフローモデルを否定する捉え方が一つ。もう一つは「マーケットがビットコインの価値を理解していないからで、マーケットがビットコインの真の価値を理解すればマネーが供給され更に時価総額は上がる。」という捉え方だ。

私は後者の捉え方をしている。それは私が法則オタク😊であり、ストックフローモデルを信じるからだ。

 

ストックフローモデル発案者のPlanB氏はトランプ大統領の就任演説が行われる1月20日(January 20)に注目している。トランプ大統領ビットコインに関する大統領令を発令することを期待しているようだ。

 

大統領の発言がビットコインの真の価値の理解につながればいいことだ。私も1月20日のトランプ大統領の演説には注目したい。