サイトリニューアル

aseri1

サイトをリニューアルしました。2024年7月14日の話です。
目的は二つあって、
  1. テクニカルなサイトづくり
  2. フェーズが変わったので心機一転
です。これまではとあるCMSを利用していたのですが、 つよくてニューゲームなサイトをいい感じにつくるのには良かったのですが、 今のこのサイトの各種ギミックのように凝ったこと、道からちょっと外れたことをやるには向いてなかったです。 また、私もそれなりの歳であり昔のインターネット黎明期的な手作り感のあるサイトをいつかつくってみたいなぁと思っていました。 リニューアルできて大変満足しています。小さいチカチカ光るGIF動画みたいのも置いてみようかな(笑)とか。 また、自身の中でフェーズが変わったのもあります。下に書きました。 徒然に書かれたある意味で駄文なので、読みたい人だけ読んであげてください。

経緯

関数型玩具製作所としての活動の再始動に合わせてサイトをリニューアルした次第です。 再始動というのは、技術的に公開できるものの質が変わりました。 以前、ずっと秘匿していた「自然な単位」に関わる技術を公開できる算段が出来ました。 これで言語拡張、読書拡張としての技術は全て公開する形になります。 今まで見せていたのは2割なので5倍の性能向上になる予定です。

半年間の潜伏

ここ半年くらい潜っていたのですが、その間に
  1. 機械学習技術の習得
  2. マージン確保
といった二つを得ることが出来ました。

機械学習技術

機械学習に関しては、ちゃんとPyTorchレベルでネットワークをいじることが出来ます(API連携、Transformers利用よりも低レベルのレイヤーです)。 上記「自然な単位」についても、以前はTransformerで特定のタスクを解いている出来合いのライブラリの出力結果を、 私の方で職人芸的にルールベースで加工することでタスクを解いていましたが、 自分でモデルを構築して一気通貫でタスクを解けるようにしました。その際に、 トレーニングデータとしてはルールベースでつくった関数を通してでてきたもの、 モデルについては一応あまりみないようなトリッキーなものを組んでいます。 結果としては、職人芸的なやり方の「エグみ」のようなものが消えて、集合知の観点で妥当なマイルドな結果が得られています。 非常に満足です(やってよかった)。 途中で画像生成についても1ヶ月位遊んでました。Stable Diffusionですが、 WebUIではなくdiffusersというPythonスクリプトを組む形のハンズオンの本があり、それをゴリゴリと。 その本の最後の方にクロスアテンション層をいじって、プロンプトの単語それぞれが画像のどこに効いているか、 みたいのを観察するやつがあって、どうしてもやりたかったのですが、 自分がよく分かってなくてPyTorchとDiffusersのバージョンをRecentlyでやっていたので、教科書の指定するバージョンと合わない (PyTorchというかCUDA関連のバージョン合わせはだいぶシビアです)。 なので、教科書の写経ではなく自分でdiffusersのソースを読んで教科書のコードを修正する必要が出てきたのですが、 何とかやり遂げたのでPyTorchにはかなり強くなったと思います。 また、上の独自タスクもDiffusersもですがChatGPTとうまく連携することで課題解決できました。 彼(ChatGPT)がいないと無理でしたね。機械学習技術もそうですが、ChatGPTとの付き合い方、 新しい技術が出てきた際にキャッチアップするという文脈での使い方を学んだのが実は一番大きかったかも知れません。 このように機械学習のスキル、対話型AIとの付き合い方も身につき、何か新しい技術が出てきた際に全く対応できないという自体は今後はないと安心しています。

マージン確保

さらに、敷衍してGraph Neural Network(GNN)についても少し関心を持って追っていました。 現在はペンディング中ですが、トランスフォーマーのアテンション層を使ってGNNの問題を解けないかなと、 モデルとトレーニングデータは整備済みです。 上記の「自然な単位」に関わるタスクで、もしかするとノードの埋め込み表現として面白いものが得られる、 かも知れないと期待しています。それを使って画像生成、動画生成に応用できないかなとか。いずれ試してみたいです。 脱線しましたが、GNNはそこそこ新しい目の技術でその界隈をある程度なぞったので、技術的優位性というかマージンが生じているはずです。 2024年の言語処理学会にも行きましたが、私の見る限りではGNNに触れている発表はなかったです。 なので、安心して「自然な単位」についても公開できると判断しました。 世界は広い、日本だけみてちゃ駄目ですが、どこかのタイミングで動かないとです。 arXivもポツポツ読んでいます、主にサーベイ(まとめ)ですが。 もともとar5ivというHTMLにコンバートするプロジェクトが2年前からありましたが、 公式に取り入れられるようになっていますね、Experimental扱いで。 PPL++はhtmlに適用する読書拡張なので、実験するにはピッタリです。 手応えも感じていますが、まだまだar5iv自体がExperimental扱いなので漏れもあり、です。 話を戻すと、私は日本でだけひっそりと動くので当面は大丈夫かと。 一番大きいのは、フルパワーのPPL++(自然な単位入り)は日本語にしか使えないという事実があります。 英語に膨大な時間を使った(もともとは英語を楽に読むために開発スタート)のですが現状では難しいと判断しています。 なぜ難しいのかも理由がだいたい見えてきています。 一応、色んな国の言語を観察しています(TextTransformerのサンプル60カ国語とか)、が日本語は特殊ですね(後はタイ語とかも)。 なのでリスクも小さい(はず、そう思いたい)。 上の事情があるのでフルパワーのPPL++で読みたいので、arXivその他の英語教科書(epub)は日本語に翻訳して読んでいます。 DeepLはクソ高かった(500ページくらいの教科書一冊で1000円オーバーとか)のですが、ChatGPT4oやClaude3(Haiku)は安くていいですね(教科書1冊でも100円以下)。 脱線しました。安心しているのは日本語がメインターゲットだから、というのの他にもTransformerというか、 Pretrainedに解いたタスクは確かに「自然な単位」を陰に解いているので途中のアテンション層でそれが見えるのは確か(自分も確認した)ですが、 陽にそれを抽出するのはどうか(そう簡単ではないのでは?)、など、自分の中で一応の了解が出来たのも大きいです。 自分の強みがどこにあるのか、ということですが。 その辺りも今はChatGPTにも聞けるので聞いてみたら、なるほどでした。

3つの目標

上が4月に完了したので、
  1. PPL++に関する特許出願
  2. HPのリニューアル
  3. リリース済みSafari拡張のアップデート
の3つを早急に行うのを当面の目標としていました。 ただ、Safari拡張の説明書等をHPに載せる必要があるので、リリースというかAppストアの審査のタイミングでHPを更新しようという計画でした。 2024年7月14日にストア申請の準備が出来たので併せてホームページを更新した次第です。 ( Safari拡張(テキストトランスフォーマー)は既にリリース済みです)。 長々とですが、ホームページリニューアルはそういう経緯で行われました。