タグ

ブックマーク / rest-term.com (9)

  • PyTorch 2.0の新しいコンパイラで機械学習を速くする – Rest Term

    12/02にPyTorch 2.0のアナウンスがありました。まだnightly版(α版)で正式リリースされるのは2023年3月頃のようですが、機能自体は試すことができるので早速使ってみました。 12/05現在、絶賛検証中なので結論のようなものは書けませんが、全体の傾向としては概ね公称通りに高速化の効果が認められました。 精度が低下することはない 小さなモデルに対して、学習は速くならず、コンパイルオーバヘッドのためepochsが少ない場合は全体として遅くなる、GPU使用率はAMPだと僅かに低くなる傾向 大きなモデルに対して、学習は速くなり(約5 ~ 30%高速化)、デフォルト設定ではVRAM使用率は少し低くなる(5 ~ 10%弱程度) GPUだけでなくCPUも効率良く使えるケースだと特に高い効果が期待できる コンパイルオプションはいくつかあるけどデフォルトで使うのが一番良さそう あくまで後述

    PyTorch 2.0の新しいコンパイラで機械学習を速くする – Rest Term
    sh19910711
    sh19910711 2024/03/02
    "torch.compile: 公式ドキュメントはものすごく重厚長大で同じ事を何度も書いていましたが使い方はシンプル + GPUだけでなくCPUも効率良く使えるケースだと特に高い効果が期待できる" 2022
  • Web Machine Learningについて – Rest Term

    W3Cが推進しているWeb Machine Learning (WebML)という取り組みについて少し調べてみました。今回は解説記事というわけではなく個人用のメモに近いので正確性についてはあまり自信がありませんが。。 Web Machine Learning (WebML)とは Web Machine Learning | Making Machine Learning a first-class web citizen W3C Web Machine Learning Working Group standardizes Web APIs for in-device machine learning inference working together with the W3C ecosystem using well-received Community Group incubatio

    sh19910711
    sh19910711 2023/02/09
    2021 / "WebML: W3CではAPI仕様の標準化を推進しており、そのAPIをWebNN APIと呼んでいます / WebNN: 計算グラフを構築するためのAPIが一通り定義 + TensorFlow.jsやONNX.jsなどの既存のフレームワークもWebNN対応するらしい"
  • ONNX Runtime for WebをVue.js+WebGL環境で試す – Rest Term

    Microsoftから ONNX Runtime for Web (ORT Web) なるものが9月2日にリリースされました。 ONNX Runtime Web—running your machine learning model in browser – Microsoft Open Source Blog ONNX (Open Neural Network Exchange) について ONNX (Open Neural Network Exchange) は機械学習のモデルフォーマットの一つです。機械学習フレームワークはTensowflowやPyTorch、MXNetやCaffe2などたくさんありますが、ONNXフォーマットを使えばそれらのフレームワーク間において相互運用が可能になります。共通で使えるファイル形式ということです。ONNXについての歴史や開発背景はWikipedia

    sh19910711
    sh19910711 2022/11/26
    2021 / "Microsoftから ONNX Runtime for Web (ORT Web) なるものが9月2日にリリース / ブラウザで動くランタイムとしては onnx.js というものがありましたがこちらは今後利用非推奨 / デフォルトだとCPU (WebAssembly)が使われる"
  • JAXライクなfunctorchで機械学習を速くする – part 1 – Rest Term

    PyTorch 1.11からβ版として追加された functorch と呼ばれる機能を試してみました。PyTorch 1.9くらいのときから試験版として体に組み込まれて提供されていましたが、どうやらfunctorchという別モジュールに切り出して提供されるようになったようです。 pytorch/functorch: functorch is JAX-like composable function transforms for PyTorch. functorchとは PyTorch公式サイトには以下のように説明されています。 functorch is a library that adds composable function transforms to PyTorch. It aims to provide composable vmap (vectorization) and a

    JAXライクなfunctorchで機械学習を速くする – part 1 – Rest Term
    sh19910711
    sh19910711 2022/05/15
    "functorch: PyTorch 1.11からβ + JAXをインスパイアしておりAPIの見た目もだいたいJAXと同じ / GoogleにはTensorFlowがあるのになぜFlax(JAX)、Traxなど複数のフレームワークを作っているのかについてはQuoraにディスカッションがあった"
  • RedisのHyperLogLogを使ってユニークユーザー数を推定する – Rest Term

    去年の内に公開することが出来ず、ずっと下書き状態だったエントリーをちょっとずつ消化していきたいと思います。ネタとして古いものも含まれていたりすると思いますがしばらくご辛抱ください。。 Redis 2.8.9から追加された HyperLogLog をちょっと触ってみました。 環境 * CentOS 7.0 (x86_64) / Intel Xeon E312xx (Sandy Bridge) 2.4GHz 仮想3コア / 2GB RAM * Redis 2.8.17 * redis-py (Python 2.7.5) HyperLogLogとは HyperLogLog (以下HLL)というアルゴリズムはデータマイニング(トラフィックデータの分析等)とか自然言語処理をやってる人ならともかく、Webアプリケーション開発者にはあまり馴染みがないかもしれません。 HyperLogLog – Wiki

    RedisのHyperLogLogを使ってユニークユーザー数を推定する – Rest Term
  • GPU対応の類似検索(最近傍探索)ライブラリ Faissの紹介 part1 導入/チュートリアル « Rest Term

    Facebook AI Research (FAIR)が開発したGPU対応の類似検索ライブラリ Faiss を紹介します。 [06/25追記] Faiss GPU版の検索についてエントリーを書きました。 GPU対応の類似検索(最近傍探索)ライブラリ Faissの紹介 part2 GPUを利用した検索 論文は以下で公開されています。 [1702.08734] Billion-scale similarity search with GPUs 論文タイトルの通り、10億スケールの大規模データに対してGPUを駆使した効率的な最近傍探索アルゴリズムの研究事例となっています。分量が多くなりそうなので複数の記事に分けて紹介しようと思います。 環境 Amazon Linux AMI release 2017.03 Intel Xeon CPU E5-2686 v4 @ 2.30GHz NVIDIA GK

    GPU対応の類似検索(最近傍探索)ライブラリ Faissの紹介 part1 導入/チュートリアル « Rest Term
  • MongoDB GridFSについて – Rest Term

    今回はMongoDBのGridFSを少しだけ触ってみました。 This allows us to efficiently store large objects, and in the case of especially large files, such as videos, permits range operations (e.g., fetching only the first N bytes of a file). MongoDBはデータをBSONと呼ばれる形式で扱っていますが、一つのBSONオブジェクトに対して16MBの制限(v1.7未満のバージョンだと4MB)があるようです。GridFSはMongoDBに巨大なファイルを格納するための仕様で、公式でも上記引用の通り動画像ファイルなどを扱うことを想定しているので、ここでは動画配信サービスのバックエンドの一部に使えるかどうか考

    MongoDB GridFSについて – Rest Term
  • 機械学習ライブラリ SHOGUN入門 – Rest Term

    The machine learning toolbox’s focus is on large scale kernel methods and especially on Support Vector Machines (SVM) * The SHOGUN Machine Learning Toolbox サイトのデザインどうにかしたらいいのにとか将軍ってなんだよとかいろいろあるかと思いますけども、プロダクトとしては素晴らしいという噂を聞くので今回このSHOGUNという機械学習ライブラリを試してみました。目的は一般物体認識における分類タスクでMultiple Kernel Learning(MKL)やLatent SVMの実装を試すことなのですが、まずはインストール方法と簡単な使い方を調べるところから始めます。 また、この記事の内容はQiitaにも投稿しています。 * 機械学習ライブラ

    機械学習ライブラリ SHOGUN入門 – Rest Term
  • JavaScriptで画像のクラスタリングによるドット絵風加工 – Rest Term

    pixel clustering using k-means++ 前回のJavaScriptでPoisson Image Editingによる滑らかな画像合成に引き続き、HTML5 Canvasを使ったJavaScriptによる画像処理の一例を紹介します。 今回は画像の画素値に対するクラスタリング(分類)を画像加工用途に応用します。クラスタリングには各画素のRGB値を特徴ベクトル(次元数3)としてk-means法と呼ばれる手法を使って行います(実装上はk-means法の初期値選択アルゴリズムを改良したk-means++法を利用)。以下のサイトでOpenCVを利用した実装例が紹介されています。 k-meansクラスタリングによる画像分割,減色 – opencv.jp 上記サイト内でも言及されているように、k-means法による画像の領域分割や減色処理はあまり良い結果が得られないことが知られて

    JavaScriptで画像のクラスタリングによるドット絵風加工 – Rest Term
  • 1