タグ

ブックマーク / zenn.dev (52)

  • LINE が公開した日本語言語モデルをM2 Macbook Airで動かす

    これはなに? LINE が公開した日語言語モデルをローカルで動かしたいけど、GPUがなくて動かなくて悲しかったのです。でも、huggingface に良い変換モデルを公開されてる方がいらして、それを試したら、いい感じで動きました。というご報告です。やったね! 結論: 動かす手順 homebrew で cmake をインストール mmngaさんが公開されている ggml 変換版の readme に従ってターミナルで以下を実行 git clone https://github.com/ggerganov/ggml.git cd ggml mkdir build && cd build cmake .. make -j mmngaさんが公開されているggml 変換版のモデルをダウンロード 保存先は 2. で mkdir した build ディレクトリに。 以下のコマンドで推論を実行 ./bin

    LINE が公開した日本語言語モデルをM2 Macbook Airで動かす
    pukuman
    pukuman 2023/08/17
  • 「システム設計の面接試験」という本が良かった

    皆さんこんにちは。株式会社ラクーンホールディングスで働いている川崎です。 最近「システム設計の面接試験」というを読みました。 個人的にとても面白いと感じたので、オススメポイントと感想を共有します。 直近でシステム設計の面接を受けない方も、きっと読んで得るものがあると思います。 の概要 システムの設計はシステムの機能や仕様、データのアクセスやセキュリティを左右するため、非常に重要だが、従うべき一定のパターンがないために、その習得は難しいと言われています。 一方で、システム設計自体がITエンジニアに日常的に求められる作業であるため、システム設計の面接試験は米国で広く採用されています。 書では、「Webクローラ」「通知システム」「ニュースフィードシステム」「チャットシステム」「youtube」など実践的なテーマに沿って、システム設計の問題を出題し、その回答を解説することで、システム設計力を

    「システム設計の面接試験」という本が良かった
  • 【未解決】Ruby3.2.0にupdateしてYJITを有効化したら失敗した話

    株式会社ウェイブでcoolmicという日のコミックを海外向けに配信するWEBサービスの開発を行なっております、こしけです! 今回が初投稿になります! 日はRuby3.2系から実用段階になったYJITをcoolmicで有効にしたら失敗した話を書いていこうと思います。 導入するきっかけ coolmicでは様々な機能の追加や、既存のコードの負債の影響で処理速度が低下してきているのが課題でした。そんな中でRubyのupdateを行なっている最中にYJITという存在を知りました。 こちらの記事では導入後全体的に2-3割のレスポンスタイムの削減がされたという記載もあり、coolmicでもかなり恩恵がありそうなので導入してみようという流れになりました。 導入方法 Ruby3.2.0のDockerイメージにはYJITの組み込みが既にされているので、DockerfileのENVにRUBY_YJIT_EN

    【未解決】Ruby3.2.0にupdateしてYJITを有効化したら失敗した話
    pukuman
    pukuman 2023/05/12
  • Docker一強の終焉にあたり、押さえるべきContainer事情

    章立て はじめに Docker・Container型仮想化とは Docker一強時代終焉の兆し Container技術関連史 様々なContainer Runtime おわりに 1. はじめに Containerを使うならDocker、という常識が崩れつつある。軽量な仮想環境であるContainerは、開発からリリース後もすでに欠かせないツールであるため、エンジニアは避けて通れない。Container実行ツール(Container Runtime)として挙げられるのがほぼDocker一択であり、それで十分と思われていたのだが、Dockerの脆弱性や消費リソースなどの問題、Kubernetes(K8s)の登場による影響、containerdやcri-o等の他のContainer Runtimeの登場により状況が劇的に変化している。記事では、これからContainerを利用したい人や再度情報

    Docker一強の終焉にあたり、押さえるべきContainer事情
  • サービスメッシュの本質は、トラフィック管理や可観測性ではない

    Abstruct サービスメッシュが、真に提供する価値は何なのか。それはトラフィック管理と可観測性なのだろうか。 サービスメッシュがこれほどにまで繁栄した理由について、私なりに考察する。 Introduction 近年では、ソフトウェアのアーキテクチャとして、マイクロサービスが大流行した。かつては最大手のインターネット企業のみが必要性に迫られていた、マイクロサービスアーキテクチャだが、昨今の急激に成長するITビジネスの中で、多くの企業にとってマイクロサービスは、あらゆる企業が取り組むべき必然性のあるソリューションとなっている マイクロサービス・アーキテクチャによって、大規模な開発チームがより俊敏になり、より多くのデプロイを実現させられることは、大きなメリットだ。一方で、マイクロサービス特有の課題も数多く存在する。 マイクロサービスに移行する際に発生する運用上の問題の多くは、結局のところ、ネ

    サービスメッシュの本質は、トラフィック管理や可観測性ではない
  • WebAssembly対応でRubyは何が出来るようになったのか?

    はじめに Ruby 3.2よりWASIベースのWebAssemblyサポートされました。 これによってRubyをブラウザ上で実行できるようになるわけですが、実はWASMはブラウザの外での動作も可能になっており、OSに依存しないライブラリを作ったり、Edge Computingで実行させたり、シングルバイナリの実行可能ファイルにしたりと色々な事が出来るようになります。 今回はRubyWASM対応でどんなことが出来るようになったかをまとめたいと思います。 WebAssemblyとは? WASMに関して少しおさらいをしておきましょう。 WebAssemblyは仮想命令セットアーキテクチャです。WASMとも言います。RustやCをはじめとした多くの言語からコンパイルする事が出来、Webブラウザの中で高速にそしてセキュアに処理を実行するための仕組みとして登場しました。 元々ブラウザ向けに登場した仕

    WebAssembly対応でRubyは何が出来るようになったのか?
  • Linuxコンテナの「次」としてのWebAssembly、の解説

    はじめに WASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。 2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopWASM対応があります。FastlyやCloudflareもエッジ環境でWASMを動かすソリューションを持っていますし、MSのAKS(Azure Kubernetes Service)でもWASMにpreview対応しています。WASM Buildersでも2023年のWASMの予想としてWASMのアプリケーションランタイム利用に関して言及されました。 WASMといえば元々ブラウザ上で高速にC++のコードなどを実行するところから始まっている

    Linuxコンテナの「次」としてのWebAssembly、の解説
  • プログラミング・シンポジウムへの招待

    「プログラミング・シンポジウム」という催しがあります。「プロシン (prosym)」が通称です。 年に一度、毎年お正月の 1 月に開催で、年明けの 2024 年には第 65 回の開催をむかえます。 えっ、年に一度なのに、第 65 回? そう、プログラミング・シンポジウムの第 1 回は、いまから 60 年以上も前の 1960 年 (昭和 35 年) だったそうです。 それ、自分が知ってる「プログラミング」ではない、なにか別のもののことなんじゃ…、と思われた方、ご心配なく。あなたが知ってる、コンピューターを使う「プログラミング」のシンポジウムです。現在では、情報処理学会の主催になっています。 プロシンは学会方面のイベントですが、学術系の研究職ではなく企業でソフトウェア・エンジニアをやっている筆者は、いまプロシンの幹事団の一人をやってもいます。 記事は、特にソフトウェア・エンジニアの方に向けた

    プログラミング・シンポジウムへの招待
  • ゼロから始めるObsidianプラグイン開発-01

    はじめに 久しぶりの Zenn の記事ですが、Obsidian October 2021 のイベント開催を記念して Obsidian でのプラグインの作り方を紹介したいと思います。偶然なのですが、ちょうど自分も初のプラグインを作成しコミュニティプラグインとしてリリースしたので、自分自身のアウトプットも兼ねてプラグイン開発について ゼロから 説明する記事にしたいと思います。 今回は、初心者の方がプラグインを作ってみたいと思った時に役立つ開発のやり方と公開までのロードマップを初歩から解説します。長い話になるので複数回の記事にする予定で、これが第一回目となります。 イベントの詳細については下のリンクから確認してください。 対象読者 Obsidian のコミュニティ開発に興味ある方 Obsidian に限らずツールのプラグイン開発に興味ある方 ノンプログラマーだけど開発をやってみたい方 今回の記事

    ゼロから始めるObsidianプラグイン開発-01
  • 【公開】Stable Diffusionで美しい女性のポートレートを描くprompt(呪文)を公開するチュートリアル🚀【入門編】

    せっかく描くなら美しい女性を描きたい! Stable Diffusionは歴史上最も重要なAIアートモデルだと言われています。 👆の画像は全てStable Diffusionを使って描いた女性たちです。No Named Womensですが、彼女たちは当に美しい。 Stable Diffusionにはたくさんの導入記事があり、準備万端!って方が非常に多いと思いますが、いざ描こう!と思ったときに、「何をかけばいいんだろう」と悩む方も多いかと思います。この記事はそんな方の背中を押すために捧げます。 美女。それは美しい女性のことです。 美しい女性には、人を癒す効果があります。 美女に囲まれたら、きっと嬉しいですよね。 いろいろ問題を含むことは承知の上で、AIアート界隈が盛り上がるための火付け役を彼女たちにになっていただこうと思います。きっとこの技術が世界を良い方向に進めてくれると信じて。 今回

    【公開】Stable Diffusionで美しい女性のポートレートを描くprompt(呪文)を公開するチュートリアル🚀【入門編】
    pukuman
    pukuman 2022/08/30
  • M1 MacBook ProでStable Diffusionを動かすまでのメモ

    画像生成AIのStable Diffusionがオープンソースとして公開されましたね。さっそく動かしてみたいなと思って触ってみることにしましたが、手元にあるのはMacBookだけなので、なかなか大変でした。 ありがたいことに、先人がたくさんいるので参考にして環境構築ができました! たぶんそれなりにすぐにすんなり動かせるようになると思いますけど、今すぐやってみたくてトラブってる人の参考になればと、わりとなぐり書きで恐縮ですが書いておきます。 動作速度とか ちなみに気になる実行速度ですが、自分が使っているのはMacBookPro 14インチモデルの一番スペックが低いやつでして 8コアCPU、14コアGPU、16コアNeural Engine搭載Apple M1 Pro メモリ32GB です。 画像生成中は15〜20GBほどメモリを消費し、5分ほどで画像が6枚生成できます。 学習モデルを取得する

    M1 MacBook ProでStable Diffusionを動かすまでのメモ
    pukuman
    pukuman 2022/08/24
  • 話題のStable Diffusionがオープンソース化されたのでローカルで動かしてみる

    話題のStableDiffusionがオープンソースで8/23に公開されたので、手元のマシンで動かすまで試したいと思います🖼 (下記に記載していますが、自分の環境だとVRAMが不足しているエラーが出てしまったのでイレギュラーな対応をしています🙏) ※ ↑追記 コメント欄にて、 @kn1chtさんが紹介してくださっているように、マシンのVRAMが10GB未満の環境では半精度(float16)のモデルがオススメされています。 記事では、別の最適化されたものを紹介していますが、こちらの利用も検討してみると良さそうです👉 https://zenn.dev/link/comments/7a470dc767d8c8 StableDiffusionがどんなものかは、深津さんの記事が参考になります。 1. 環境 Razer Blade (RTX 2070, VRAM 8GB) CUDA Toolk

    話題のStable Diffusionがオープンソース化されたのでローカルで動かしてみる
  • 流行りのテキストからのAI画像生成 (Midjourney, DALL-E 2, StableDiffusion, DiscoDiffusionなど) について、歴史、仕組みから試し方までまとめる

    はじめに 9/10から開催の 技術書典13 で記事としてまとめるための、調査、素材置き場です。まず、日語で界隈を概観するには以下記事がおすすめ。 (8/22) もうすぐ来ると言われるStableDiffusionのモデル配布の衝撃について。 その根拠の一つである、Eman Mostaque氏 (Founder of Stability.ai) の、意味深なカウントダウンツイート。 (8/23) 公開されました。 Colaboratoryでの試し方をnpakaさんが公開しています。 さらにtuningが可能なColab notebookをpharmapsychoticさんが公開しています。 ローカルで動かす方法は、koyoarai_さんのZennより。 無償、英語・日語で試せるWebアプリをshi3zさんほかが公開しています。 目次 各Text-to-Imageの試し方 Prompt E

    流行りのテキストからのAI画像生成 (Midjourney, DALL-E 2, StableDiffusion, DiscoDiffusionなど) について、歴史、仕組みから試し方までまとめる
  • 『ソフトウェアアーキテクチャの基礎』は我々の海図たりえるか

    こんにちは、クレスウェア株式会社の奥野賢太郎 ( @okunokentaro ) です。今回は、最近噂としてよく耳にしていた書籍『ソフトウェアアーキテクチャの基礎 ― エンジニアリングに基づく体系的アプローチ』(オライリー・ジャパン社、Mark Richards, Neal Ford 著、島田浩二 訳、2022 年 3 月発行)を読了したので、その書評をまとめようかと思います。 この書籍は、アプリケーション・アーキテクチャを構築、維持する「アーキテクト」になるために必要な知識を現代(2020 年代)の視点から整理し、包括的に解説することを目的としているらしく、まさに 2022 年に読むべき内容に仕上がっています。 書評者は何者か この書籍はよいものでした。ただし、かなり広範囲に包括的に書かれたものであったため、どういう経験や知識を持った人間が読んだかによって、その好みや評価は分かれるだろう

    『ソフトウェアアーキテクチャの基礎』は我々の海図たりえるか
    pukuman
    pukuman 2022/04/13
  • プロジェクトに浅瀬を作る

    はじめに プロジェクトに参加しているメンバーがうまく環境に適用できずに離脱することがあり、ともすれば、身体を壊してしまうケースもあります。これは新規メンバーに限定されず、既存のメンバーでも、プロジェクト人の状況、その役割が変われば発生し得ると思っています。 そういったことを回避できた状態を想像した時にプロジェクトに浅瀬があったら良いのではというイメージからこの言葉が浮かんだのだと思います。2年ほど前のメモ書きにこのタイトルが残されていて、今見直した時にすごくしっくり来ました。 メモ書きを発見したツイート この「プロジェクトに浅瀬を作る」とは、どういうことなのか、改めて深堀したいと思います。 どういうこと? 溺れないようにするのが目的 監視員が必要のない状態が理想 溺れないようにするのが目的 溺れるというのは、闇雲に時間がかかってしまい心身ともに疲弊してしまうイメージです。不慣れなため必

    プロジェクトに浅瀬を作る
    pukuman
    pukuman 2022/04/02
  • JSONをいい感じに見るCLIを作った

    その他 OS の方は GitHub のrelease ページから DL することができます。 使い方 tv はミニマムな CLI として作ったのでテーブル表示の機能とそれに付随したオプションのみを提供しています。 配列になっている JSON をテーブル表示する キーを指定することでそのキーを使ってソートできる いくつかのスタイルでテーブルを表示できる 以上が主の機能です。 Table 表示 ユースケースとして JSON が帰ってくる API を想定します。 API の例として jsonplaceholder を利用します。 今回は https://jsonplaceholder.typicode.com/users を使います。 この API は以下のようなデータが返ってきます。 $ curl -s https://jsonplaceholder.typicode.com/users [

    JSONをいい感じに見るCLIを作った
    pukuman
    pukuman 2021/09/06
  • Gitのオブジェクトの中身

    はじめに Gitのインデックスの中身、Gitのブランチの実装に続く、Gitの中身を見てみようシリーズです。Gitが管理するオブジェクトの種類や中身について見てみます。基的にはPro Gitの10. Gitの内側をまとめなおしたものです。 オブジェクトの種類 Gitは、内部でファイルやコミットを「オブジェクト」として.git/objects以下に保存しています。オブジェクトには以下の4種類があります。 blobオブジェクト: ファイルを圧縮したもの。ファイルシステムの「ファイル」に対応 treeオブジェクト: Blobオブジェクトや別のTreeオブジェクトを管理する。ファイルシステムの「ディレクトリ」に対応 コミットオブジェクト: Treeオブジェクトを包んだもの。コミットのスナップショットに対応するTreeオブジェクトに、親コミット、コミットメッセージなどを付加する タグオブジェクト:

    Gitのオブジェクトの中身
    pukuman
    pukuman 2021/09/05
  • HTML の DOM に指定した id って JavaScript のグローバル変数に格納されるって知ってた?

    はじめに タイトルの通りなんですが, HTML の DOM に指定した id はすべて同じ変数名としてグローバル変数に格納されます. つまり id を好き勝手付けちゃうと知らぬ間にグローバル空間が汚染され, 予期せぬバグを起こしてしまう可能性があります. なので id の値は慎重に考えて付けましょうという. っという注意喚起もしたいんですが, 実は今回伝えたいのはそれではありません. メインはこの仕組みを逆手に取って活用することで手軽にツールを作ったりできますよーという紹介になります. この tips を活用して, ちょっとした Markdown Editor も作ってみたのでよかったら参考にしてください. 具体例 具体的な例は以下です. このように, 要素に id を指定していた場合はグローバルに変数として格納されているので document.getElementById を呼ばなくても

    HTML の DOM に指定した id って JavaScript のグローバル変数に格納されるって知ってた?
  • ブラウザだけでOS自作入門しよう

    TL; DR mikanos-docker と mikanos-devcontainer をちょっといじって VNC に対応させた コーディングと動作確認がブラウザだけでできる!iPad だけで OS 自作しよう! 更新履歴 2021/05/26: GitHub Codespaces のバグが修正されたため, 一部手順・文章を修正 概要 こんにちは. 皆さん, "ゼロからのOS自作入門", 捗っていますか? 私はやっと8章が終わりそうです. マウスが動いて楽しい! 先日, Docker ではじめる "ゼロからのOS自作入門" という記事を公開しました. Docker イメージが 1,400 プル以上されており, 想像以上に利用して頂けているようです. ありがとうございます! さて, 上述の記事では, Ansible を用いたしんどい環境構築を, Docker イメージに閉じ込めた構築済みの

    ブラウザだけでOS自作入門しよう
  • Raspberry Piで部屋の空気コンディションモニタを作る方法

    こんにちは、TAKUYAと申します。個人開発で生計を立てています。 部屋の空気の質を知ることは、自身の生産性を高く保つためにとても重要です。 換気を怠ると、思っている以上にパフォーマンスに悪影響が出てしまいます。 リモートワークで自宅で仕事をしていてなんとなく集中できないな…と感じている方は、ぜひ換気を意識してみてください。 今回は、気温、湿度、気圧、そしてCO2濃度を表示するエアクオリティモニタを作ってみました。 CO2レベルが1,000ppm以上になると音で知らせるようにし、換気のタイミングが分かるようにしました。記事ではその制作過程をウォークスルー形式でご紹介していきます。 雑誌感覚で楽しめるように写真をふんだんに添付しました。では始めましょう。 Architecture こちらがアーキテクチャです。 Raspberry Pi Zero Wをメインとし、Nginxを走らせ、ANAV

    Raspberry Piで部屋の空気コンディションモニタを作る方法