タグ

sh19910711のブックマーク (26,858)

  • Fluentdのプラグインを作ってBigQueryにログを挿入するコストを1/3にした話 - pixiv inside

    こんにちは。 機械学習チームにてレコメンドの改善を行っているgumigumi4fです。 この記事では、Fluentdにて収集したログをBigQueryに挿入する際に使用しているプラグインを置き換えることによって、高スループットかつ低コストを実現した話について紹介します。 背景 pixivではアクセスログやアプリケーションログ等をBigQueryに収集し、分析できるような仕組みを構築しています。 BigQueryへアクセスログを挿入する際はFluentdとそのプラグインであるfluent-plugin-bigqueryを用いて直接BigQueryへ書き込むようになっていたのですが、その際にログ欠損が起こることが問題となっていました。 ログの欠損はピークタイムで発生しており、そのピークタイムのログの流量は概ね毎秒30000logとかなり多く、実際Fluentdのworkerプロセスが1work

    Fluentdのプラグインを作ってBigQueryにログを挿入するコストを1/3にした話 - pixiv inside
    sh19910711
    sh19910711 2024/06/11
    "fluent-plugin-bigquery: ログの流量は概ね毎秒30000 + Fluentdのworkerプロセスが1workerあたりCPUを1コア恒常的に使い切っているなど頭打ちのような挙動 + ログ欠損が起こる / Storage Write API を用いる新たなFluentd向けプラグインを開発"
  • PyG (PyTorch Geometric) で Graph Pooling Neural Network - Qiita

    グラフ構造を深層学習する PyG (PyTorch Geometric) を Google Colaboratory 上で使ってみました。今回は、Graph Pooling Neural Network を使うことがテーマです。題材として、化学情報学のメインテーマの1つである、分子構造から物性を予測する問題を解いてみます。 PyG (PyTorch Geometric) インストール PyG (PyTorch Geometric) のレポジトリは https://github.com/pyg-team/pytorch_geometric にあります。また、コードはチュートリアルドキュメント https://pytorch-geometric.readthedocs.io/en/latest/index.html を参考にしています。 import os import torch torch

    PyG (PyTorch Geometric) で Graph Pooling Neural Network - Qiita
    sh19910711
    sh19910711 2024/06/11
    "torch_geometric.transforms.ToDense を用いて transform することで、全ての大きさの分子グラフを max_nodes x max_nodes のサイズの隣接行列として表現 / Graph Pooling を使った GNN で、graph property を目的変数とした分類問題・回帰問題" 2022
  • ruby.wasmバイナリにgemを組み込むときのトラブル回避HACK(2024/06版) - ルニラボ

    はじめに ruby.wasmバイナリに3rd party製のgem組み込んだ際のトラブルシュートのログを書き残しておきます。 2024年6月現在のHACKです。今後の開発が進めば不要になると想定しています。 こちらのスライドの補足記事です。 speakerdeck.com 前提 下記PRにより、Bundlerと ruby_wasm gemを利用して独自のruby.wasmバイナリが作成できるようになっています。 github.com $ bundle init Writing new Gemfile to /tmp/tmp.ZeVCP05HyB/Gemfile $ bundle add ruby_wasm $ bundle add rainbow $ bundle exec rbwasm build -o ruby.wasm (snip) INFO: Packaging gem: rain

    ruby.wasmバイナリにgemを組み込むときのトラブル回避HACK(2024/06版) - ルニラボ
    sh19910711
    sh19910711 2024/06/11
    "Ruby製のgemであっても、参照しているgemにC-Extensionなgemが含まれていた場合、現在正式リリースされているツールたちではビルドに失敗してしまう / ruby.wasmでRailsを動かす対応たちの中に解法"
  • OpenSSHのProxyJumpとProxyCommandの関係

    多段SSH接続の為の二種類の設定 中継サーバーを経由して目的のサーバーに接続する、多段SSH接続。 OpenSSHで多段SSH接続をする為の設定として、ProxyCommandを使う方法とProxyJumpを使う方法の二種類が有ります。 ProxyCommandを使う方法は昔からあり、ProxyJumpを使う方法は比較的最近[1]追加された方法です。 この二つの方法について、ごく一部ですが「ProxyCommandを使う方法は危険なのでProxyJumpを使う方法に切り替えるべき」と言う人々がいます。 しかしProxyCommandを使う方法が危険だというのは当なのでしょうか? 今回はProxyJumpとProxyCommandの関係を調べる事によって、当にProxyCommandが危険なのかを調べてみます。 環境 今回は多段SSH接続という事で、以下の3台のサーバーが登場します。 接

    OpenSSHのProxyJumpとProxyCommandの関係
    sh19910711
    sh19910711 2024/06/11
    "ProxyJump (-J)が指定されると内部ではProxyCommandが設定されて起動 / ProxyCommandを使っていたとしても、慌ててProxyJumpに書き換える必要は無い / 新たに設定する場合はProxyJumpを使う"
  • Quickstart を利用して Snowflake における RAG ベースの LLM アシスタントの構築手順を確認してみる #SnowflakeDB | DevelopersIO

    Quickstart を利用して Snowflake における RAG ベースの LLM アシスタントの構築手順を確認してみる #SnowflakeDB はじめに 2024年5月のリリースで、一部のリージョンではありますが、Snowflake 上でベクトルデータの管理と操作が可能な以下の機能が一般提供になりました。 VECTOR データ型 Snowflake Cortex LLM ベース関数 EMBED_TEXT_768 Vector similarity functions VECTOR_INNER_PRODUCT VECTOR_L2_DISTANCE VECTOR_COSINE_SIMILARITY この機能により Snowflake 上で RAG(Retrieval-Augmented Generation)アプローチを取る AI アプリケーションの構築を行えるようになります。 また

    Quickstart を利用して Snowflake における RAG ベースの LLM アシスタントの構築手順を確認してみる #SnowflakeDB | DevelopersIO
    sh19910711
    sh19910711 2024/06/11
    "Snowflake 上でベクトルデータの管理と操作 / VECTOR データ型 + similarity functions / EMBED_TEXT_768: Snowflake Cortex LLM ベース関数 / Streamlit in Snowflake を使用することで、Snowflake 内でデータを外部に出すことなく RAG"
  • Amazon AthenaからRDS for PostgreSQLとAmazon S3に対する横串クエリ(Federated Query)を実行してみた | DevelopersIO

    接続文字列は以下のような形となります。 一般的なJDBC接続文字列ですが最近だとライブラリ等にラップされているせいで見ることも少ないので意外と忘れがちな部分ではあります。 postgres://jdbc:postgresql://{{RDSのエンドポイント}}:5432/{{接続先DB名}}?secret=${Secretsの名前} 認証情報はSecrets Manager側に以下の形式で保存されていれば利用する際に良い感じに展開してくれます。 { "username": "{{接続ユーザ名}}", "password": "{{接続ユーザーパスワード}}"} パラメータの情報に関する情報は作成上の説明文の記載に加え情報は以下にも記載がありますのでこちらをご参照ください。 ここまでで正常に設定できていればデータコネクタの部分で以下ように接続先のスキーマ情報が確認できます。 ここまでで各種設

    Amazon AthenaからRDS for PostgreSQLとAmazon S3に対する横串クエリ(Federated Query)を実行してみた | DevelopersIO
    sh19910711
    sh19910711 2024/06/11
    "Federated Queryのパススルー: PostgreSQLに対するクエリも対応 / PostgreSQLのDBのデータ+何らかの事情でS3バケットに部分的に退避したデータに対するクエリといったことが可能"
  • メモ:前処理大全 7-5「不等式条件での結合」は dplyr なら join_by() が使えるよ - Technically, technophobic.

    少し前に改訂新版が出ましたね、前処理大全。 7-5「不等式条件での結合」は、旧版から変わっていないトピックですが、実は dplyr はこの数年の間に進化しています。 当時は非等価結合ができなかったんですが、バージョン1.1.0(2023年1月リリース)からできるようになっています。 具体的には、join_*() に join_by() という指定ができるようになっていて、これを使うと全組み合わせのうち条件を満たすものだけを残して join してくれます。 例題では、reservation にある reserved_at 列が campaign の starts_at 列と ends_at 列の期間に含まれていればいいので、以下のような書き方になります。 reservation |> left_join( campaign, join_by(between(reserved_at, star

    メモ:前処理大全 7-5「不等式条件での結合」は dplyr なら join_by() が使えるよ - Technically, technophobic.
    sh19910711
    sh19910711 2024/06/11
    "dplyr はこの数年の間に進化 / join_*() に join_by() という指定ができるようになっていて、これを使うと全組み合わせのうち条件を満たすものだけを残して join してくれます / 区間と区間を比較するような条件"
  • 『楕円曲線と保型形式のおいしいところ』のおいしいところ - hiroyukikojima’s blog

    今、D.シグマ『楕円曲線と保型形式のおいしいところ』暗黒通信団を少しずつ読んでいる。これは、息子が父の日のプレゼントに買ってきてくれたなのだ。 というのも、以前、息子がコミケに行くとき、暗黒通信団のブースも見てくる、というので、このの購入を頼んだのだ。しかし、残念ながら書は売り切れになっていた。まあ、別にどうしても欲しいわけではなかったので放置していたのだが、最近、ぼくがアマゾンからコブリッツ『楕円曲線と保型形式』丸善出版を取り寄せて眺めているのをみて、息子は急に思い出したらしく、書店でD.シグマ『楕円曲線と保型形式のおいしいところ』暗黒通信団を探して買ってきてくれたのだ。 楕円曲線と保型形式のおいしいところ 作者: D.シグマ 出版社/メーカー: 暗黒通信団 発売日: 2017/08/01 メディア: 単行 この商品を含むブログを見る そうして読んでみたら、ぶっとんだ。これこそが

    『楕円曲線と保型形式のおいしいところ』のおいしいところ - hiroyukikojima’s blog
    sh19910711
    sh19910711 2024/06/11
    "楕円曲線: (yの2乗)=(xの3次式)という方程式で定義される曲線 / 保型形式: モジュラー変換に対してある種の不変性を持つ関数 / 生まれの全く違う存在が、ゼータ関数を仲立ちにしてつながってしまう" 2019
  • 素数が素数でなくなるとき

    素数が素数でなくなるとき 素数は数の性質を考える上でとても重要だが、実はどのような数の集合の中で考えるかで素数であるかないかが変わってしまう。数理学府の吉田さんは、素数が素数でなくなる度合いを表す手法の1つを洗練し、より正確な度合いの測定を可能にした。 吉田 学(数理学府) 素数とは、2, 3, 5, 7 ...とつづく「それを割り切る数が2個しかない自然数」のことである。例えば7は1と7でしか割れない。この「割り切る数が2個しかない」という性質は、整数全体の集合{..., −3, −2, −1, 0, 1, 2, 3, ...}で見たときには成り立つが、もう少し大きい数の集合を考えたときは、その集合の別の素数で割り切れてしまうことがある。 素数2の場合、整数全体の集合では1と2でしか割り切れない。しかし、虚数iを含む集合を考えたとき、 2 = (i − 1)(i − 1)i というように

    素数が素数でなくなるとき
    sh19910711
    sh19910711 2024/06/11
    "素数2: 虚数iを含む集合を考えたとき、2 = (i−1)(i−1)iというように、i−1で割り切れてしまう / 2は虚数iを含む集合で分岐する / i−1で2回割り切れているので、分岐の度合い2だけ素数から遠ざかったと考え" 2010
  • 有理数とか有限体とかのはなし - Qiita

    一部間違いがあります、文中でも明記しましたが最初の終了条件はInt を覆っていません。 最後に訂正したバージョンとより厳しいquickCheck の結果も載せておきました。 Haskell Advent Calendar 2016 の10日目です。 去年は眺めているだけだったので今回枠取れたの嬉しいです! レベル分け的にはAdvanced Beginner の一人が同じくらいのレベルの人に向けて書いてるつもりです、やや内容に初等整数論が含まれます。 あわよくばより詳しい人にトンテンカンカンと直していただきたい感じですが。 モチベーション 電卓などで(1/3) の計算をした後、答えに3 を掛けたことがある人、そしてそのとき1 に戻らなかった経験ある人もきっと多いことだと思います。 今回の話はそれにちょっと関係している、かもしれません。 今回は体を取り上げます、体と言うのはいわゆる四則演算に

    有理数とか有限体とかのはなし - Qiita
    sh19910711
    sh19910711 2024/06/11
    "体: 四則演算に閉じている代数体系 + 環のうち、零元(0)以外が掛け算に対する逆元を持っている + 割り算が安全に行える環 / 群: 集合に(性質の良い)掛け算の構造 / 環: 掛け算と足し算、体は四則演算が入ったもの" 2016
  • SymPy で量子プログラミングを体験してみましょう - Qiita

    はじめまして、こんにちは。OpenQLプロジェクト1の中のひと、です。 記事の対象は、次のような方を想定しております。 量子コンピューターや量子プログラミング2に興味がある方 基礎的なPythonの知識がある方 数式に極度のアレルギーのない方 量子コンピューターの仕組みや計算方法をなんとなく知っている方 (記事の前に、@tsujishin さんの「量子情報科学序論 IBM Qを動かして学ぶ量子コンピュータ」を事前に読んで頂くと、より理解が深まると思います) それでは、始めましょう。よろしくお願いします。 数学・科学計算には欠かせない!?「Mathematica」 皆さんは、Mathematica というソフトウェアをご存知でしょうか。 例えば、何か計算式をプログラムで扱おうとしたときに、一般的なプログラムが数値計算を得意としているのに対して、$x$が含まれる関数式のまま扱うことができる

    SymPy で量子プログラミングを体験してみましょう - Qiita
    sh19910711
    sh19910711 2024/06/11
    "sympy: 数学計算に便利な基礎的な利用用途とは別に、様々な応用計算が標準で含まれ / シミュレーション上の理論的な計算では、qapplyまで行えば、目的が達成することが多い / 観測のためのメソッドも備わって" 2017
  • ChatGPTプログラミングのすすめ

    ChatGPTなどの大規模言語モデル (Large Language Model; LLM) にプログラミングやリファクタリングをさせる場合、目的に合ったものが作られているかを何らかの方法で検証する必要がある。 プログラムの正しさを完全に保証する方法はないが、ある程度の正しさを継続して担保するための方法を探ってみたので以下にまとめた。 ポイントは、ChatGPTの生成したプログラムの検証にもやはりChatGPTの力を借りることである。 実行可能性と入出力のチェック プログラムを生成するタスクである場合、いつでも「実行できるか?」というチェックが可能である。これは自然言語の生成と大きく異なる点だろう。実行可能性を確かめることは最低限のチェック項目になる。 エラーが出力された場合、自力で修正するか、もしくは、エラーの内容をChatGPTに提示して修正を依頼し、再度実行可能かを確かめる。 入力・

    ChatGPTプログラミングのすすめ
    sh19910711
    sh19910711 2024/06/10
    "ChatGPTにプログラムを作成させたとき、同時にプログラム名も提案させる / プログラム名はそのプログラムの目的や機能を端的に表すものであるため、適切な名前が付けられているかを確認"
  • Python x SQLite3 x sqlite-vec で近似近傍探索をやろうと思ったが...

    2024-06-06 全文検索エンジン Bleve で日形態素解析をおこなう で bleze x kagome が気になってやろうとしたが、どうせなら一捻りしたいなと思い、Goの全文検索ライブラリである blevesearch の最新リリースを眺めていると https://github.com/blevesearch/bleve/releases/tag/v2.4.0 v0.2.4 からvector serach が可能に backend は faiss。 テンションが上ったので、最初は、kagome x blevesearch x ANN の構成で vector indexing, query のベクトル化もGo 言語かつ検索サーバーを運用しないで完結する構成による近似近傍探索をやろうと思っていた。。。が、文章をベクトル化するお手軽な方法(Python だとが Go で見つけられなか

    Python x SQLite3 x sqlite-vec で近似近傍探索をやろうと思ったが...
    sh19910711
    sh19910711 2024/06/10
    "sqlite-vss: 問題を抱えていたらしく、それを解決するために同じ開発者によって後継が作られ (sqlite-vec) / blevesearch: Goの全文検索ライブラリ + v0.2.4 からvector serach が可能に backend は faiss"
  • シングルバイナリでローカル実行可能、高速なOLAP用オープンソースDB「DuckDB 1.0」正式リリース

    シングルバイナリでローカル実行可能、高速なOLAP用オープンソースDB「DuckDB 1.0」正式リリース オープンソースとして開発されているOLAP用データベース「DuckDB」が正式版となるバージョン1.0に到達したことが発表されました。 OLAP用のデータベースといえば、クライアント/サーバ方式の大規模なサーバアプリケーションが一般的ですが、DuckDBは、SQLiteのようにローカル環境上でシングルバイナリでローカル環境でも簡単に実行できる点が最大の特徴です。 SQLでクエリを記述すると同時に、PythonJava、Node.js、RustGo、C/C++、R、ODBCなどから呼び出せるAPIも備えており、クライアントアプリケーションに組み込むこともできます。 対応するプラットフォームはWindows(x86_64)、macOS(Intel/Apple Silicon)、Lin

    シングルバイナリでローカル実行可能、高速なOLAP用オープンソースDB「DuckDB 1.0」正式リリース
    sh19910711
    sh19910711 2024/06/10
    "オフィシャルな拡張機能だけでも、フルテキストサーチ、MySQLやPostgreSQL、SQLiteデータベースの読み書き / DuckDB Labs: 外部からの投資を一切受けておらず + 会社は完全にチームによって所有"
  • Azure Cosmos DB for NoSQL でサポートされた Vector Search (Preview) を試した - しばやん雑記

    Build 2024 で発表された Cosmos DB のアップデートの中でも注目度の高い Vector Search (Preview) について、実際に試して深堀しておきました。これまで Azure で Vector Search を実行するにはコストが高い割に SLA の低い AI Search を使う必要がありましたが、Cosmos DB for NoSQL が Vector Search に対応したことで情勢が大きく変わろうとしています。 基となるデータストアである Cosmos DB が Vector Search に対応したことで、追加のインデックスとしての AI Search を使う必要がなくなるため、Vector Search の実行結果として Cosmos DB に保存されている全てのデータを取得できるというのは大きなメリットです。もちろん Cosmos DB の全て

    Azure Cosmos DB for NoSQL でサポートされた Vector Search (Preview) を試した - しばやん雑記
    sh19910711
    sh19910711 2024/06/10
    "これまで Azure で Vector Search を実行するにはコストが高い割に SLA の低い AI Search を使う必要があり / パーティションキーの指定は Vector Search でも重要となっていて、クエリコストを下げるのに役立つ"
  • LLMで議事録を作ってみた ~GPT-4o vs Gemini1.5 Pro vs Claude 3 Opus、三つ巴の戦い~

    sh19910711
    sh19910711 2024/06/10
    "Teamsの文字起こし: 発言時間、発言者、発言内容の情報からなる / GPT-4o: 全体を踏まえている・議題を満遍なく拾っている・人と同程度の粒度 + Gemni 1.5 Pro、Claude 3 Opusはやや情報が細かく、偏る傾向"
  • LangChainの新機能「langgraph-engineer」:Agentを作成するためのAgentを作る - Qiita

    最近、GithubでLangGraph(LangChainが提供するエージェント構築用フレームワーク)のアップデートを確認していたところ、LangChainの開発チームが新機能の開発を進めていることに気づきました。現在はまだテスト段階かもしれませんが、試用コードなどはすでに整っているようです。この新機能は非常に興味深いので、共有したいと思います。 名前は⇩の「langgraph-engineer」です。 現時点ではまだスター数が数十個と少ないため、まだテスト中だと思われます。この機能を簡単に説明すると、agentを作成するためのagentを作るというものです。非常に革新的なアイデアだと思います。 LangChainの開発チームが想定している処理フローは、概ね以下のようになっています まず、ユーザーがagentのワークフローを手書きで作ります。その後、マルチモーダルモデルを使用して手書きの結

    LangChainの新機能「langgraph-engineer」:Agentを作成するためのAgentを作る - Qiita
    sh19910711
    sh19910711 2024/06/10
    "langgraph-engineer: agentを作成するためのagent / ユーザーがagentのワークフローを手書き + マルチモーダルモデルを使用して手書きの結果を認識 + 抽出した情報をもとにLangGraphのコードを生成"
  • Hugging Faceを使いこなして ローカルLLMを推論する

    sh19910711
    sh19910711 2024/06/10
    "Hugging Face Spaces: Gradioなどを簡単にホスティング + Streamlit, Dockerも対応 + ボタンを押すだけでテンプレートコードがデプロイできる / Inference API: cURLで推論 + Proプラン($9.00/month)加入で制限が大きく緩和"
  • 最近のVisual Odometry with Deep Learning

    社内のCV輪講で使用した資料です。 2017年以降に発表されたDeep Learningを用いたVisual Odometryの手法についてまとめました。

    最近のVisual Odometry with Deep Learning
    sh19910711
    sh19910711 2024/06/10
    "VO; Visual Odometry: 2フレーム以上のカメラ画像間の相対的な姿勢を追跡 / 姿勢の変化を積分 + 大局的なカメラの自己位置を求める / Unsupervised VOの出力を初期値としてTraditional VOを用いるとより正確な推定ができる" 2023
  • ScalaMatsuri 2024 感想 - p-kino’s blog

    昨年に引き続きScala Matsuri 2024に参加してきた。 色々あって体調を崩してしまっており長時間の外出に少々不安はあったが、それを押し切って来る価値はあったし、幸い何も起こらずに済んだのでよかった1。 オフライン会場ではレシーバとイヤホンが借りられ、それを使うと同時通訳で発表を聞けたのだが、特にリスニングがさっぱりな私としてはとても体験がよかった。 通訳者の方はもちろん、レシーバをアルコールティッシュで拭いて衛生を確保されていたスタッフの方も大変だっただろうから感謝したい。 特に印象に残ったセッションのうち、ある程度消化できたものについて忘れない内に書いていく。 Ironライブラリで守られた型安全性 (Raphaël Lemaitreさん) スライド: https://scalamatsuri.rlemaitre.com 篩型と呼ばれる、型に述語を記述することで受け付ける値を制

    ScalaMatsuri 2024 感想 - p-kino’s blog
    sh19910711
    sh19910711 2024/06/10
    "Iron: 篩型と呼ばれる、型に述語を記述することで受け付ける値を制限する仕組みを提供するライブラリ / たとえば、「Int型の内、正の値で42よりも小さいもの」を表す型はInt :| (Positive & Less[42])"