とぷすけの書斎

障子を開けてみよ、外は広いぞ。

投稿者: topusuke

  • LFM2.5を使ってみよう

    LFM2.5について

    みなさんは「LFM2.5」をご存知だろうか。これはAIモデルで、特に1.2Bという極めて軽量なモデルである。

    公式サイト
    https://www.liquid.ai/blog/introducing-lfm2-5-the-next-generation-of-on-device-ai

    1.2Bがどのぐらい軽いかというと、現代のコンピュータであればノートPCでも問題なく動作でき、スマートフォンなどでも動作するレベルの軽量性である。

    なおこのLFM2.5が公開されたのは1月5日であり、最先端の軽量AIモデルである。

    公式サイトより

    上の画像はAMDのRyzenとSamsungのGalaxy S25 Ultraで他のAIモデルと比較したグラフである。

    ここでの単位は「トークン毎秒」で数値が高い方が出力が速いということだ。その他のAIモデルと比べて速いのがわかるだろう。

    また、あくまで体感だがGPT3.5と比べても同じ精度で出力することができている。むしろこっちの方がやや正確かもしれない。

    LFM2.5を使用して「あなたを使ってできること」を聞いた

    この画像は完全にローカル環境で実行した画像だ。写っているのは一部分でもう少し長く出力された。

    生成終了までかかった時間は40秒ほど。実行環境はiMac late 2015(i5 5250U,8GB,オンボードGPU)だ。10年前の事務用PCである。しかも後ろで通話とネットサーフィンをしながら実行している。

    いかにこのモデルが軽量であるかわかると思う。


    インストール方法

    さて、インストール方法を解説しよう。ただ、軽量のAIモデルとは言っても最低限の性能は必要だ。とはいえ、相当前のPCでなければ問題ないだろうと思う。Windows11が入っているようなPCであれば問題ないだろう。

    まずは、LLMフレームワークが必要だ。筆者はOllamaを使っているのでその方法で進めよう。

    まずOllama公式サイトにアクセスし、自身の使用しているOSに合わせてダウンロードする。

    現在はWindowsでもGUIで使えるようだ。(古いバージョンではCUIのみだった)

    インストールが終わったらWindowsならコマンドプロンプト、Macならターミナルを起動する。コンソールウィンドウを開いたら

    ollama run hf.co/LiquidAI/LFM2.5-1.2B-Instruct-GGUF:Q4_K_M

    と入れよう

    なおこれはOllamaを使う場合でその他のフレームワークを使う場合は

    https://huggingface.co/LiquidAI/LFM2.5-1.2B-Instruct-GGUFへアクセスして「Use this model」を選択、各フレームワークの指示に従ってほしい。

    その後使用するモデルをLLM2.5に設定、「こんにちは」と入れてみよう。

    モデル選択

    どうだろうか。うまく動いただろうか。

    PCによっては読むのが追いつかないほどの速度で生成されるだろう。ぜひいろいろと試してみてほしい。


    なお余談だが、このLFM2.5は日本語特化モデル視覚言語モデル音声言語モデルもある。今回紹介したのは汎用モデルのinstructだがこれらのモデルも試してみると面白いかもしれない。

    ということで今回は軽量AIモデル、「LLM2.5」を紹介した。

    ではまた今度。

  • ゲームのグラフィック設定

    PCでゲームをやる人にとってグラフィック設定というのは切り離せない存在だと思う。

    ここでは汎用的なグラフィック設定の項目と負荷を集めた。

    ゲームタイトルによって負荷は異なるがあらゆるゲームのグラフィック設定の指針となるようここにまとめたいと思う。

    ゲームによって実装の具合や処理方法、設定項目の有無は異なるため、ぜひゲームの設定を変えて確認してほしい。

    見出しにグラフィック設定の項目名を書き、その下に他名称とおおよその負荷を記述する。

    解説は開閉で読めるようになるので詳しく知りたい場合はそれぞれの項目で開いてもらいたい。

    レンダリング精度

    画像はゲーム「原神」より AAなし 筆者撮影

    名称:レンダリング品質、オブジェクトクオリティーなど

    負荷:極大の影響を与える

    レンダリング精度:解説

    レンダリング精度はほぼすべてのゲームに設定項目があるといっても過言ではないぐらいどのゲームにある項目だ。画像を見てもらうとわかる通り、3Dオブジェクトの精度、細かさを左右する。ゲームによっては100%を超える数値が選べる場合もある。大きな違いを生むだけあってその負荷は極大であり、後述するアンチエイリアスを併用して調整する場合が多いだろう。

    アンチエイリアス

    同じく「原神」より 数字はレンダリング精度 筆者撮影

    名称:AA、処理の名称(TAA,FXAA,MSAA,SMAA,FSR,DLAA等)など

    負荷:大きな影響を与える

    アンチエイリアス:解説

    アンチエイリアスは簡単に言うと「ギザギザをなくす技術」である。レンダリング精度の画像と見比べるとよくわかる通り、0.6でギザギザしていた線がアンチエイリアスを滑らかになっている。
    この技術は一般にレンダリング精度を上げるよりかは負荷が軽いためよく使われる。難点としてぼやけて見えることがある
    名称の違いは処理方法の違いである。ここら辺の話は長くなるので割愛する。複数選べるものではそれぞれ試してみるとよい。また、動きに強いものや静止画に強いものなど技術によって得意不得意がある。

    異方性フィルタリング

    ゲーム「ゴーストリコン ブレイクポイント」より 画像はこちらから

    名称:異方性サンプリングなど

    負荷:小~中程度の影響

    異方性フィルタリング:解説

    異方性フィルタリングは「遠くにある急角度のテクスチャを自然に見せる技術」である。
    何を言っているのかわかりずらいと思うが、参考画像のオフと16を見比べてほしい。遠景のフェンスのクオリティがきれいなのが分かるだろうか。
    基本的には2の倍数で選択する。没入感を高めてくれるが、負荷もそれなりにあるのでうまく調整してほしい。

    アンビエントオクルージョン

    LearnOpenGLより

    名称:AO,SSAO,HBAOなど

    負荷:中~大きな影響を与える

    アンビエントオクルージョン:解説

    アンビエントオクルージョンは「環境光の影」を表現する技術である。
    光というのは、物体で反射し別のところにあたり反射し、というように反射を繰り返している。そして、さえぎられた場合そこに柔らかな影が生まれる。
    一般によく実装されるのはSSAOである。これはZバッファを使用して2Dへ落とし込んで処理を行うため高速に処理できる。
    この後解説する「グローバルイルミネーション」も深く関係する。

    グローバルイルミネーション

    右の壁は見切れているが緑色である。左は使用しなかった場合。wikimediacomonsより 左の画像 右の画像

    名称:GI,フォトンマッピングなど

    負荷:極大の影響を与える

    グローバルイルミネーション:解説

    光源は一つであっても反射し広がる。アンビエントオクルージョンでは環境光の影のレンダリングをしていたが、グローバルイルミネーションは影だけでなく環境光もレンダリングする。
    最近はやりのレイトレーシングの親戚である。(広義ではこれもレイトレーシングに分類されることがある)
    実装方法はいくつか種類があり、ラジオシティ法やフォトンマッピングなどがあるがどれも膨大な処理量を必要とするものであり、リアルタイムの計算は負荷が高い。
    そのため、限られた性能のハードウェアのみ有効化できるようになっているゲームもあるだろう。

    テクスチャクオリティ

    「Euro Track Simulator 2」より 画像はこちらから

    名称:テクスチャ品質など

    負荷:大きな影響を与える

    テクスチャクオリティ:解説

    3Dモデルに張り付ける「絵」のクオリティが変化する。ゲームの実装にもよるが低設定では気になることがあるかもしれない。負荷はまあまああるのでクオリティとフレームレートのバランスをうまくとってほしい。

    影のクオリティ

    画像はこちらから Unity 2018での比較の様子 左からハードシャドウ、ソフトシャドウ、解像度を上げたハードシャドウ

    名称:影の品質など

    負荷:大きな影響を与える

    影のクオリティ:解説

    見出しをどうつけようか迷った項目である。最終的に無難に「影のクオリティ」とした。上の画像を見てもらったほうが早いだろう。ゲームによってはもっと細かく設定できるのもある。影はプレイ体験に大きな影響を及ぼすので、なるべく高い設定にしたい。

    さて、こんなところでどうだろうか。今回はおおよそ多くのゲームにある設定を主観でピックアップしたに過ぎない。ほとんどのゲームでもっとたくさんの設定があるはずだ。ぜひ、ゲームごとに調整して、ゲーム体験をより良いものにしてほしい。

    少しでもこの記事が指針になれば幸いである。

    では、また。

  • 後発地震注意情報とは

    昨日の夜(2025年12月8日のこと)、M7.6の地震が青森県東北沖で発生した。それに伴い、「北海道・三陸沖後発地震注意情報」が発表された。どうやら初めて発表される情報のようだが、気になったのでどういうものなのか調べてまとめてみた。

    *筆者は専門家ではないので調べた範囲をまとめている。誤情報は含まないよう気を付けるが確実な正確性は保証できない。

    我が家に地震が来たときにスマホアプリ「NERV防災」で閲覧した強震モニターのスクショ

    さて、気象庁の「北海道・三陸沖後発地震注意情報」についてを見るとまず最初にこう書かれている 。

    以後、この「北海道・三陸沖後発地震注意情報」についてをもとに話を進める。

    日本海溝・千島海溝沿いの領域で規模の大きな地震が発生すると、その地震の影響を受けて新たな大規模地震が発生する可能性が相対的に高まると考えられています

    つまるところこの後発地震注意情報とやらはあくまで東北、千島沖での地震の際に発令されるようだ。

    南海トラフなどのほかの地震では「『南海トラフ地震に関連する情報』について」というように別の指標があるらしい。

    さて、もう少し読み進めていこう。

    情報の発表基準のところに

    日本海溝・千島海溝沿いの巨大地震の想定震源域及び想定震源域に影響を与える外側のエリア(※1)でモーメントマグニチュード(Mw)7.0以上の地震が発生した場合

    とある。さて早速「モーメントマグニチュード」なる専門用語が飛び出してきた。

    どうやら日本では「気象庁マグニチュード(Mj)」と「モーメントマグニチュード(Mw)」が一般的に使われているらしい。早く計算でき、速報に適しているMjを通常は使うらしい。しかし、この計算方法ではマグニチュードが大きくなった場合に「飽和」して、正しく数値が出ないため、巨大地震ではMwが使われるという。

    実際に東日本大震災の地震では緊急地震速報発令時のマグニチュード(Mj)は7.2、その後の暫定値でもMjで8.4となっている。最終的なマグニチュード(Mw)は9.0(地震発生から2日後の確定値)だった。

    モーメントマグニチュードについての補足っぽいなにか

    モーメントマグニチュードの計算式は次の通り

    Mw=(logMo9.1)/1.5M_w=(log Mo – 9.1) / 1.5

    一切意味がわからなかった。

    調べていくとモーメントマグニチュードでは従来の指標では表面波など地震計の数値から算出したところを、断層の物理的なずれから算出することにより飽和しなくなるようにしたらしい。Mwでは小さい地震は正確に測定できないそうだ。

    気象庁:地震情報等に用いるマグニチュードについて

    Wikipedia:モーメント・マグニチュード

    高精度計算サイト:モーメントマグニチュードの計算

    マグニチュードについて造詣を深めたところで次に進もう。情報発表の流れのところに

    気象庁において一定精度のMwを推定(地震発生後15分~2時間程度)し、情報発表基準を満たす先発地震であると判断でき次第、「北海道・三陸沖後発地震注意情報」の発表と内閣府・気象庁合同記者会見が行われます。

    とある。

    内閣府「北海道・三陸沖後発地震注意情報防災対応ガイドライン」より

    さらに先の「『北海道・三陸沖後発地震注意情報』について」ではこう書かれている

    この情報は、後発地震の発生時期や場所・規模を確度高く予測する情報ではなく、ましてや発生を予知する情報でもありません。また、大規模地震の発生可能性が平常時より相対的に高まっていると言っても、後発地震が発生しない場合の方が多いこと、その一方、防災対応を呼びかける1週間が経過した後も大規模地震が発生する可能性があることなど、極めて不確実性が高い情報です。

    このような背景を持つものの、「北海道・三陸沖後発地震注意情報」を発表するのは、過去の大規模地震が後発地震として発生している事例が知られているからであり、たとえ不確実性が高くとも警戒レベルを上げることで被害軽減を図ることができると考えられるからです。突発的に発生する地震への日頃からの備えを前提とした上で必要な防災対応を呼びかけ、より多くの人命を守るための取組なのです。

    つまるところ、少しでも可能性があるのなら警戒しておいて得はあっても損はないということだろう。

    注意事項として

    Mw7.0以上の地震発生後7日以内にMw8クラス以上(Mw7.8以上)の後発地震が発生する確率は、概ね百回に1回程度(Mw8.0以上の地震発生後にMw8クラス以上の後発地震が発生する確率は、概ね十回に1回程度)です。Mw7.0以上の地震発生後、平常時に比べるとMw8クラス以上の地震発生の可能性は相対的に高まっていると考えられますが、1週間のうちに後発地震が必ず発生するわけではないことに留意が必要です。

    と書かれている

    気象庁「北海道・三陸沖後発地震注意情報について」より

    1%の確率を重く見るか軽く見るかは人次第だろう。

    しかしながら、地震が起きるかどうかにかかわらずこういった情報が防災意識を高めるのだと思う。気象庁も次のように書いている。

    日頃からの地震への備えを徹底しておくことが最も重要であることは言うまでもありません。

    しかしながら、備えの意識というものは薄れていくものであり、確認をこまめにすることができればよいが、難しいこともある。

    このような時に今一度用意・確認しておくことが、この情報が発令されているときだけでなくこの先の未来にも役立つかもしれない。

  • 音ゲーの判定幅について

    プロセカをやっていた時にふと思った。

    スマホの音ゲーってどのぐらいの判定幅があるのだろうか。

    アーケードの音ゲーはチュウニズムとjubeatをやるくらい(ほとんどゲーセンに行かないのでほぼ無いに等しい)だが、タブレットで家でもできる音ゲーはそこそこやる。なのですこし調べてまとめてみた。

    タイトル名最高判定(内部理論値判定)最高次点判定
    プロセカPerfect:41.7Great:83.3
    ユメステPerfect:40 (Perfect✦:25)Great:70
    ArcaeaPURE:50 (PURE:25)FAR:100
    Phigros(ノーマル)Perfect:80Good:160
    MilthmPerfect:70 (Actual Perfect:35)Good:140
    milthmは筆者がよくやるので同じゲーム性のPhigrosと比較して入れました
    引用:スマホ音ゲーwikiより
    *判定幅の単位はすべてms

    さらにアーケードとも比較するために情報をお借りしてきた。

    タイトル名最高判定(内部理論値判定)最高次点判定
    チュウニズムJustice:66.6 (Justice critical:33.3)Attack:100
    maimai**Perfect:50 (critical perfect:16.67)Great: – *
    jubeatPerfect:40Great:80
    beatmania IIDXP-Great:17Great:33.3
    太鼓の達人***良:25可:75
    引用:https://note.com/happy_azalea548/n/n47f151a7b063
    判定幅の単位はすべてms
    *調べてみましたが見つかりませんでした
    **どうやらBreakノーツではGreatでもさらに判定があるようです。
    ***おに、むずかしいでの判定幅。ふつう、かんたんだとこれより緩くなるようです。

    ふむ、どの音ゲーでもたいていは最高判定の倍の数値が次点評価の数値になるようだ。

    プロセカの判定幅に端数があるのはフレームから算出しているからと考えられる。(60FPSの場合1F=16.66)つまり60FPSの場合2.5FでPerfectになるようにしている。

    PhigrosとMilthmの数値が緩いのはノーツがあらゆる方向から落ちてくるゲーム性ゆえだろうか

    milthmのプレイ中の一場面。横向きのノーツは横から流れてきている。

    スマホの音ゲーとはいえ基本的にアーケードと変わらないようだ。

    端末ごとにスペックの差や環境の差があるので判定調整をうまくやらないとGreatが出まくるわけだ。

    イヤホンをして音ゲーをするときにiPadに百均でかったUSB-C-3.5mmジャックの変換ケーブルをさしてつかうが、最近どうもそれが遅延を起こしていることに気づいた。

    その後何度か試しているとどうも20ms近く遅延しているらしい。

    値が張るものだと遅延が減るのか気になったので、今度機会があったら試してみようと思う。

    さて、こんなところで…

    注)この記事は2025年12月7日に書かれた記事です。今後変更がある可能性があります

  • REPOから考える、話題性を生むゲーム

    皆さんはREPO1というゲームをご存じだろうか。

    Steamのゲームヘッダー

    このゲームは2025年2月から早期アクセスとしてリリースされた、協力型サバイバルホラーゲームであり、Steamの新作販売本数ランキングで一位2となった。

    同じくSteam商品ページより

    協力してアイテムを回収し、時には敵から逃げ、戦いながらお金を稼ぐゲームである。ゲームシステムはリーサルカンパニー3に近く、ヒットしたという点でも同じかもしれない。

    しかし、このゲームの特徴的な点として挙げられるのはそれ以上に独特な操作性であろう。

    たとえるならば「2階からゴムのロープでつながれた野球ボールを1階のマグカップに入れる」といった感じである。

    独特の慣性によって引き起こされるカオスな動きはフレンドとやるときに大きく盛り上がる。

    Unityのフリーゲームにある「出過杉くん」や「世界で一番操作性が悪いゲーム」など、予想外の挙動をするというのはよくも悪くも笑いを生む。

    世界で一番操作性が悪いゲーム。その名の通り操作性がクソである。

    しかし通常、動かした通りに動かないとストレスがたまるものである。バカゲーであるなら極端なものでも構わないと思うが、普通のゲームでそのバランスをとるのは難しい。

    それをREPOでは「コツをつかめばある程度操作できる」ぐらいの難易度にうまく調整している。しかしながら、実際のゲームではモンスターがいたり、協力プレイということでフレンドがいたりする。つまりは自分以外の動きにも気を配らなければならない。

    それによってミスを誘発し(時にはただミスすることもあるが)それが面白さなどの話題を生む。

    話題を生むことができるというのはゲームにとって価値になる。プレイした人が別のプレイしていない人に話をして、それがさらに広まっていく。広告などうたなくとも人々の話題だけで情報が広まっていく。

    また、フレンドと遊べる「協力型」というのも大きな点だ。知り合いと遊ぶのに買ってもらったり、ギフトしたりすることでどんどん広まっていく。

    協力型ゲームは近年大きな成功を収めているタイトルが多くなっている。フレンドと協力してプレイすることによりリプレイ性が生まれやすくなる。

    さらにYoutubeなどでゲームのプレイ実況をされることにより、一人から数百、数千人へとネズミ算式に広まっていくのだろう。

    Youtube上での「REPO」の検索結果

    最後は少し話がそれたかもしれないがこの〆は

    • 想定外の挙動を生むことが話題につながる
    • フレンドと協力プレイができることで自然に広まる

    これらがヒットする要因を作ったといえるだろう。


    1. 正しくは「R.E.P.O.」とピリオドが入る ↩︎
    2. https://automaton-media.com/articles/newsjp/coop-20250801-351637/ ↩︎
    3. Zeekerss開発のサバイバルホラーゲーム。宇宙船に乗り、放棄された惑星でスクラップを集める。 ↩︎