84,688個の正規表現で作ったチェスエンジン

2025-01-07

Nicholas Carliniは休暇中に、84,688個もの正規表現を使って2プライミニマックスアルゴリズムのチェスエンジンを作成するという、とんでもないプロジェクトを行いました。彼は、分岐のない、条件付き実行、SIMD命令セットを持つ正規表現ベースの仮想マシンを設計しました。シンボリック実行コンパイラはPythonコードを正規表現のシーケンスに変換し、並列計算を可能にします。このエンジンはSIMDを活用して複数の駒の動きを同時に計算し、巧妙な正規表現の最適化によって速度を向上させています。深さは限定的ですが、正規表現の驚くべき計算能力を示しています。

続きを読む

AI生成ウェブサイト:スキルと知識の実験

2024-12-31

セキュリティ研究者のNicholas Carliniは、12日間にわたる実験を行いました。毎日異なる言語モデルを使って自身のウェブサイトのホームページとバイオを書き直したのです。その結果、モデルは視覚的に素晴らしいウェブページを生成することに長けていましたが、事実の正確性には大きく欠けていました。例えば、o1-miniモデルが生成したウェブページには43の記述があり、そのうち32は完全に間違っており、9つは大きな誤り、正確なものはわずか2つでした。これは、LLMにおける「スキル」(ウェブページの生成)と「知識」(事実の正確性)の大きな違いを浮き彫りにし、AI生成コンテンツへの依存には注意が必要であることを示しています。

続きを読む

3000バイトのC言語によるChatGPTクローン

2024-12-12

開発者Nicholas Carliniは、GPT-2モデルをベースとしたChatGPTクローンをわずか3000バイトのC言語コードで作成しました。この依存ライブラリ不要のインプリメンテーションは、GPT-2の重み行列とBPEファイルを読み込み、トークナイゼーション、行列演算、トランスフォーマー推論、デトクナイゼーションを実行します。出力の品質は高くありませんが、その効率性は注目に値し、最新のハードウェアでは1秒間に複数の応答を生成します。これは、複雑なAIモデルを実装する際のコンパクトなコードの可能性を示しています。

続きを読む
AI C言語