Category: Notes

  • ローカル画像生成: ComfyUI および FLUX モデル

    現在では、クラウド サービスに依存する必要はなくなり、独自のハードウェアだけで高品質の画像を生成できるようになりました。この投稿では、ComfyUI を使用して最新の FLUX モデルをコンピューター上でローカルに実行する方法について説明します。

    ComfyUI はノードベースのアーキテクチャを使用します。これにより、次のことが可能になります。
    – 生成のあらゆる段階を完全に制御します。
    – 既成の「ワークフロー」を簡単に共有

    FLUX は大規模なモデルであるため、ハードウェア要件は SD 1.5 または SDXL よりも高くなります。
    ビデオ カード (GPU): 12 GB VRAM 以上を搭載した Nvidia RTX (快適な作業用)。 8 GB 以下の場合は、量子化バージョン (GGUF または NF4) を使用する必要があります。
    ランダム アクセス メモリ (RAM): 最低 16 GB (32 GB 以上が望ましい)。
    ディスク容量: モデルとコンポーネント用に約 20 ~ 50 GB。

    FLUX を開始する最も簡単な方法は、既製のテンプレートを使用することです。ワークフロー ウィンドウで Flux text to image を検索してインストールするだけです。

    「Text to Image (Flux.1 Dev)」ノードに英語でプロンプトを書き、解像度 (FLUX は 1024×1024 以上で適切に動作します) を選択して、実行 を押します。

    第 1 世代では、モデルがビデオ カード メモリにロードされるため、時間がかかる場合があります。

    https://github.com/comfyanonymous/ComfyUI

  • Local Vibe コーディング: LM Studio、VS Code、Continue

    コード (いわゆる Vibe コーディング) の作成にニューラル ネットワークを使用したいと考えていて、たとえば Nvidia RTX ビデオ カードを備えたかなり強力なコンピューターを持っている場合は、環境全体を完全に無料でマシンに展開できます。これにより、有料サブスクリプションの問題が解決され、コードがどこにも送信されないため、NDA の下でプロジェクトを安全に作業できるようになります。この投稿では、LM Studio、VS Code、Continue 拡張機能のローカル バンドルを組み立てる方法について説明します。

    ローカル Vibe コーディング用ツール

    快適な作業のためには、次の 3 つの主要なコンポーネントが必要です。
    LM ​​Studio: ローカル LLM をダウンロードして実行するための便利なアプリケーションです。 GGUF モデルの操作に伴うすべての複雑さを引き受け、OpenAI API と互換性のあるローカル サーバーを構築します。
    VS Code: 人気があり、馴染みのあるコード エディタです。
    Continue: ニューラル ネットワークを作業環境に直接統合する VS Code の拡張機能。チャットしたり、リファクタリング用のコードをハイライトしたり、オートコンプリートをサポートしたりできます。

    ハードウェア要件

    ローカル言語モデルはメモリを大量に消費します。
    ビデオ カード (GPU): 8 GB VRAM 以上を搭載した Nvidia (70 ~ 80 億のパラメータを持つモデルで快適に作業するため)。重いモデルには 16 GB の VRAM が必要です。
    ディスク容量: さまざまなダウンロード モデルを保存するために約 500 GB。

    リンクの構成

    セットアップ プロセスは非常に簡単で、ターミナルでの複雑な操作は必要ありません。
    1. LM Studioをダウンロードしてインストールします。組み込みの検索を使用して、Qwen Codergemma3:12b などの軽量モデルを見つけます。
    2. LM Studio で、「ローカルサーバー」タブに移動し、「サーバーの開始」をクリックします。デフォルトでは、「http://localhost:1234/v1」で起動します。
    3. VS Code を開き、プラグイン ストアからContinue 拡張機能をインストールします。
    4. Continue 構成ファイルを開き、LM Studio から「openai」プロバイダーとローカルサーバーのアドレスを指定して新しいモデルを追加します。

    その後、「続行」サイドバーでローカル LLM と直接通信し、コードについて質問したり、新しいコンポーネントを生成したりできます。

    なぜこれが機能するのでしょうか?

    前に書いたように、LLM はフラット構造と WET (Write Everything Twice) コードの方が優れています。ローカル パラメーター モデルは、複雑なアーキテクチャの設計に関しては GPT-4 のような巨大モデルに劣るかもしれませんが、ボイラープレート コードの生成、単純な関数のリファクタリング、およびラピッド プロトタイピングについては十分以上の能力を備えています。

    さらに、ローカル Vibe コーディングを使用すると、コードがマシンから離れることはありません。このため、この組み合わせは企業開発や機密データの取り扱いに最適です。

    出力

    ローカル ニューラル ネットワークは、プログラマーを完全に置き換えたり、複雑なシステムを設計したりすることはできません。ただし、LM Studio + VS Code + Continue の組み合わせにより、クラウド サービスからの独立性が提供され、プライバシーが維持されます。これは、小さなモデルの制限を我慢してプロジェクト アーキテクチャを独立して制御する意欲がある場合、日常的なタスクに完全に機能する補助ツールです。

    リンク

    https://code.visualstudio.com/
    https://lmstudio.ai/
    https://continue.dev/

    ソース

    https://youtu.be/IqqCwhG46jY
    https://www.youtube.com/watch?v=7AImkA96mE8

  • ローカルビデオ生成: ComfyUI および LTX-2.3

    以前は、ニューラル ネットワークを使用してビデオを作成することは、Runway や Luma などのクラウド サービスの特権でした。現在、最新の Nvidia グラフィック カードをお持ちであれば、コンピュータ上で高品質のビデオを生成できます。この記事では、ComfyUI と効果的なLTX-2.3 モデルを使用してローカル ビデオ生成を設定する方法を説明します。

    ビデオ生成用ツール

    仕事のためには次のものが必要です。
    ComfyUI: ノードベースのアーキテクチャを備えた強力なインターフェイスで、生成プロセスを柔軟にカスタマイズできます。
    LTX-2.3: Lightricks の最新モデル。比較的適度なビデオ メモリ要件でスムーズで詳細なビデオを作成するために最適化されています。

    ハードウェア要件

    ビデオの生成は、画像を操作するよりもはるかにリソースを大量に消費するプロセスです。
    ビデオ カード (GPU): 768×512 の解像度には、8 GB VRAM を搭載した Nvidia RTX が最低限必要です。快適な操作とより高い解像度を実現するには、16 ~ 24 GB の VRAM を搭載することが非常に望ましいです。
    ランダム アクセス メモリ (RAM): 最低 32 GB。ビデオ モデルと VAE は、ダウンロード時に多くのスペースを消費します。
    ディスク容量: モデル自体と関連コンポーネント用に約 500 GB。

    セットアップと起動

    ComfyUI で LTX-2.3 を起動するプロセスは次のとおりです。
    1. ComfyUI を更新します: このモデルは比較的新しいため、最新バージョンのインターフェースがインストールされていることを確認してください。
    2. ワークフローのインストール: 最も簡単な方法は、LTX ビデオ用の既製の JSON テンプレートを見つけることです。このモデルでは、ビデオ潜在スペースを処理するには特定のノードが必要です。
    3. プロンプトとパラメータ: シーンの説明を英語で入力します。 LTX-2.3 は動きをよく理解していることに注意してください (例: 「カメラが周回する」、「速い動き」)。

    LTX-2.3 を選ぶ理由

    LTX-2.3 は、独自のクラウド サービスと同等の結果を提供しながら、ローカルで実行できるという点で注目に値します。これにより、次のことが得られます。
    完全なプライバシー: プロンプトや生成されたビデオが他の人のサーバーに送信されることはありません。
    コントロール: 試行ごとに料金を支払うことなく、フレーム レート (FPS)、解像度、プロンプトの強度を試すことができます。

    ローカル ビデオ生成は現在も開発が進められており、LTX-2.3 は「ホーム ハリウッド」の世界への素晴らしい入り口となります。

    リンク

    https://github.com/comfyanonymous/ComfyUI
    https://huggingface.co/Lightricks/LTX-Video

  • ローカル音楽生成: ComfyUI および ACE-Step-1.5 モデル

    現在では、コンテンツを作成するためにクラウド サービスに依存する必要はありません。高品質の音楽をすべて自分のハードウェアで生成できます。この投稿では、ComfyUI を使用して最新の ACE-Step-1.5 モデルをコンピュータ上でローカルに実行する方法について説明します。

    ComfyUI はノードベースのアーキテクチャを使用します。これにより、次のことが可能になります。
    – オーディオ生成のあらゆる段階を完全に制御します。
    – 既成の「ワークフロー」を簡単に共有。

    ACE-Step-1.5 は、大量の計算リソースを必要とする音楽生成のための高度なモデルです。ハードウェア要件は、多くの単純なシンセサイザーの要件よりも高くなります。
    ビデオ カード (GPU): 8 GB VRAM 以上 (12 GB 以上を推奨) を搭載した Nvidia RTX により、高品質で快適な作業が可能です。
    ランダム アクセス メモリ (RAM): 最低 16 GB (32 GB 以上が望ましい)。
    プロセッサ (CPU): AVX/CUDA コンピューティングを適切にサポートする最新のマルチコア プロセッサ。
    ディスク容量: モデルとコンポーネント用に約 20 ~ 50 GB。

    ACE-Step-1.5 を実行する最も簡単な方法は、既製のオーディオ生成テンプレートを使用することです。ワークフローウィンドウで音楽テキストをオーディオに検索してインストールするだけです。

    ジャンルと雰囲気を説明するプロンプト (たとえば、「重低音のある高揚感のあるシンセウェーブ トラック」) を「プロンプト入力」ノードに書きます。希望の期間を指定して実行を押します。
    第 1 世代では、モデルがビデオ カード メモリにロードされ、複雑な音響パターンが処理されるため、時間がかかる場合があります。

    https://github.com/comfyanonymous/ComfyUI
    https://www.youtube.com/watch?v=UAlLD5fS7-c

  • ollamを使用したローカルニューラルネットワーク

    ChatGPT のようなものを起動したいと思っていて、たとえば Nvidia RTX ビデオ カードを備えたかなり強力なコンピューターを持っている場合は、ollam プロジェクトを実行できます。これにより、ローカル マシン上で既製の LLM モデルの 1 つを完全に無料で使用できるようになります。 ollama は、ChatGPT の方法で LLM モデルと通信する機能を提供します。最新バージョンでは、画像を読み込み、出力データをjson形式でフォーマットできる機能も発表されました。

    また、プロジェクト自体も Apple M2 プロセッサを搭載した MacBook で実行しましたが、AMD の最新モデルのビデオ カードがサポートされていることもわかっています。

    macOS にインストールするには、ollam Web サイトにアクセスしてください。
    https://ollama.com/download/mac

    「macOS 用のダウンロード」をクリックすると、ollama-darwin.zip 形式のアーカイブがダウンロードされます。アーカイブ内には Ollama.app があり、これを「アプリケーション」にコピーする必要があります。この後、Ollama.app を起動します。おそらく、最初の起動時にインストール プロセスが発生します。その後、トレイにオラマのアイコンが表示されます。トレイは右上の時計の隣にあります。

    その後、通常の macOS ターミナルを起動し、コマンドを入力して ollam モデルをダウンロード、インストールし、実行します。利用可能なモデル、説明、およびその特性のリストは、ollam Web サイトでご覧いただけます。
    https://ollama.com/search

    発売時にビデオカードに適合しない場合は、パラメータが最も少ないモデルを選択してください。

    たとえば、llama3.1:latest モデルを起動するコマンドは次のようになります。

    ollama run llama3.1:latest
    

    Windows と Linux のインストールは一般的に似ていますが、場合によっては ollam インストーラーがあり、さらに Powershell 経由でインストーラーを操作します。
    Linux の場合、インストールはスクリプトを使用して行われますが、特定のパッケージ マネージャーのバージョンを使用することをお勧めします。 Linux では、通常の bash ターミナル経由で ollam を起動することもできます。

    情報源
    https://www.youtube.com/watch?v=Wjrdr0NU4Sk
    https://ollama.com

  • ffmpegを使用したビデオ安定化

    ビデオを安定させて手ぶれを除去したい場合は、「ffmpeg」ツールが強力なソリューションを提供します。組み込みフィルター `vidstabdetect` と `vidstabtransform` のおかげで、複雑なビデオ エディターを使用せずにプロフェッショナルな結果を達成できます。

    仕事の準備

    始める前に、`ffmpeg` が `vidstab` ライブラリをサポートしていることを確認してください。 Linux では、次のコマンドでこれを確認できます。

    bash  
    ffmpeg -filters | grep vidstab  
    

    ライブラリがインストールされていない場合は、追加できます。

    sudo apt install ffmpeg libvidstab-dev  
    

    brew による macOS のインストール:

    brew install libvidstab
    brew install ffmpeg
    

    それでは、プロセスに進みましょう。

    ステップ 1: 動作分析

    まず、ビデオの動きを分析し、安定化パラメータを含むファイルを作成する必要があります。

    ffmpeg -i input.mp4 -vf vidstabdetect=shakiness=10:accuracy=15 transfile=transforms.trf -f null -  
    

    パラメータ:

    揺れ: ビデオの揺れレベル (デフォルトは 5、より複雑な場合は 10 まで増やすことができます)。
    精度: 分析精度 (デフォルトは 15)。
    transfile: モーションパラメータを保存するファイル名。

    ステップ 2: 安定化を適用する

    これで、変換ファイルを使用して安定化を適用できるようになりました。

    ffmpeg -i input.mp4 -vf vidstabtransform=input=transforms.trf:zoom=5 output.mp4
    

    パラメータ:

    input: 変換パラメータを含むファイル (最初のステップで作成) を指します。
    ズーム: 黒いエッジを除去するためのズーム係数 (例: 5 – アーティファクトが除去されるまで自動ズーム)。

  • チューリング コンピューティング マシン

    私は、1936 年のアラン・チューリングの論文「解像度の問題への応用による計算可能な数について」の最初のページの翻訳を紹介します。最初の章には、後に現代のコンピューティングの基礎となるコンピューターの説明が含まれています。

    この記事の全訳と説明は、アメリカの普及者 Charles Petzold による「Reading Turing: A Journey through Turing’s Historical Article on Computability and Turing Machines」(ISBN 978-5-97060-231-7、978-0-470-22905-7) というタイトルの本で読むことができます。

    元の記事:
    https://www.astro.puc.cl/~rparra/tools/PAPERS/turing_1936.pdf

    解像度問題への応用による計算可能な数値について

    午前チューリング

    [1936 年 5 月 28 日に受領 – 1936 年 11 月 12 日に読了]

    「計算可能な」数値は、小数としての表現が有限の方法で計算できる実数として簡単に説明できます。一見すると、この記事では数値を計算可能なものとして扱いますが、整変数、実数変数、計算可能な変数、計算可能な述語などの計算可能な関数を定義して調査することは、ほぼ同じくらい簡単です。ただし、これらの計算可能なオブジェクトに関連する基本的な問題は、どの場合でも同じです。詳細な検討のために、考慮する方法が最も面倒ではないため、計算可能なオブジェクトとして計算可能な数値を選択しました。計算可能な数値と計算可能な関数などの関係については、近いうちに説明したいと思っています。同時に、計算​​可能な数値で表現される実変数の関数理論の分野でも研究が行われます。私の定義によれば、実数は、その 10 進数表現が機械で記述できる場合に計算可能です。

    パラグラフ 9 と 10 では、計算可能な数値には、当然計算可能であると考えられるすべての数値が含まれることを示すために、いくつかの議論を示します。特に、いくつかの大きなクラスの数値が計算可能であることを示します。これらには、たとえば、すべての代数的数値の実部、ベッセル関数のゼロの実部、数値 π、e などが含まれます。ただし、次の計算不可能な定義可能な数値の例でわかるように、計算可能な数値には定義可能な数値がすべて含まれるわけではありません。

    計算可能な数値のクラスは非常に大きく、多くの点で実数のクラスと似ていますが、依然として数えることが可能です。 §8 では、反対と思われる特定の議論を検討します。これらの議論の 1 つが正しく適用されると、一見するとゲーデル* の結論と似た結論が導き出されます。これらの結果は非常に重要な応用分野を持っています。特に、以下に示すように (§11)、解像度の問題には解決策がありません。

    最近の記事で、アロンゾ・チャーチは「効果的な計算可能性」という考えを紹介しました。これは私の「計算可能性」という考えと同じですが、定義はまったく異なります。チャーチも解決の問題に関して同様の結論に達しています。 「計算可能性」と「効率的に計算可能」が同等であることの証明は、この記事の付録に示されています。

    1. コンピュータ

    計算可能な数とは、小数点以下の桁が有限の方法で数えられる数であることはすでに述べました。ここではより明確な定義が必要です。この記事では、§9 に到達するまで、ここで与えられた定義を正当化する実際の試みは行いません。今のところ、(このための)(論理的な)根拠は、人間の記憶には必然的に限界があるということだけを述べておきます。

    実数を計算する過程にある人間と、有限数の条件 q1、q2、…、qR のみを満たすことができる機械を比較してみましょう。これらの条件を「m 構成」と呼びます。この(つまり、そのように定義された)マシンには「テープ」(紙に似たもの)が装備されています。機械内を通過するこのベルトはいくつかのセクションに分かれています。それらを「正方形」と呼びましょう。このような各正方形には、何らかの「シンボル」を含めることができます。いつでも、「このマシン内にある」シンボルを含むそのような正方形は 1 つだけ、たとえば r 番目の正方形だけです。このような正方形を「スキャンされたシンボル」と呼びます。 「スキャンされた文字」は、いわばマシンが「直接認識している」唯一の文字です。ただし、m 構成を変更することで、マシンは以前に「見た」(スキャンした) 文字の一部を効果的に記憶できるようになります。いつでもマシンの可能な動作は、m 構成 qn とスキャンされたシンボル *** によって決まります。このシンボルのペアを qn、「構成」と呼びましょう。このように指定された構成によって、特定のマシンの可能な動作が決まります。スキャンされた正方形が空白である (つまり、文字が含まれていない) 構成の一部では、マシンはスキャンされた正方形に新しい文字を書き込み、その他の構成ではスキャンされた文字を消去します。このマシンは移動して別のマスをスキャンすることもできますが、この方法では右または左に隣接するマスにのみ移動できます。これらの操作に加えて、マシンの m 構成を変更することもできます。この場合、書かれた文字の一部は、計算される実数の小数部分である一連の数字を形成します。残りは「記憶を助ける」ための不正確なマークにすぎません。この場合、上記の不正確なマークのみを消去することができる。

    ここで考慮される演算には、計算で使用されるすべての演算が含まれると私は主張します。このステートメントの理論的根拠は、機械理論を理解している読者にとっては理解しやすいものです。したがって、次のセクションでは、「マシン」、「テープ」、「スキャンされた」などの用語の意味の理解に基づいて、問題の理論を展開していきます。

    *ゲーデル「プリンキピア数学 (1910 年、1912 年、1913 年にホワイトヘッドとラッセルによって出版) および関連システムの形式的に決定不可能な文について、第 1 部」Journal of Mathematics。 『物理学』ドイツ語月刊誌第 38 号 (1931 年、173-198 ページ)。
    ** アロンゾ・チャーチ、「初等整数理論における決定不可能な問題」、American J. of Math.、第 58 号 (1936 年)、345-363 ページ。
    *** アロンゾ チャーチ、「解決問題に関するメモ」、J. of Symbolic Logic、No. 1 (1936)、40-41 ページ