タグ

2021年8月21日のブックマーク (9件)

  • WebAssemblyを用いてBERTモデルをフロントエンドで動かす - OPTiM TECH BLOG

    はじめまして。R&Dチーム所属、20.5卒の伊藤です。 普段の業務では自然言語処理と格闘していることが多いです。 今回は自然言語処理モデルとして有名なBERTをWebAssemblyを使用してフロントエンドで動かしてみた話になります。 最近、自然言語処理ライブラリとして普段お世話になっているHugging Face社のTransformersのTokenizerがRustで実装されていることを知り、それならばWebAssemblyにコンパイルして動かせるのではないかと試したみたのがきっかけです。 Tokenizerのみ動かしても実用性に乏しいため、Tokenizerから得られた結果からBERTを用いた推論をブラウザで動作させるまでを行い、備忘録がでら手順をまとめました。 どなたかの参考になれば幸いです。 8/26追記 記事内のコードを含むリポジトリを公開しました!Dockerを使用してブ

    WebAssemblyを用いてBERTモデルをフロントエンドで動かす - OPTiM TECH BLOG
    sh19910711
    sh19910711 2021/08/21
    "Hugging Face 社のTransformers の Tokenizer が Rust で実装されている / WebAssembly にコンパイルして動かせるのではないかと試したみた / Tokenizer から得られた結果から BERT を用いた推論をブラウザで動作させるまで"
  • 実況タイムラインとトピックモデルを用いたプリキュアのエピソード間の類似度計算 - Qiita

    記事はプリキュアAdvent Calendar 2015の18日目の記事です。なお日は12/19ですがプリキュアを愛する皆さんなら海より広い心で許してくれるって私、信じてる! なお、記事および実験はWIPのつもりです。 Introduction あのアニメの、あの話とあの話の類似度が計算したい、あるいは類似する話同士でクラスタリングをしたい。そういう時どういう手段があるでしょうか。 一つの手法として、Twitterの実況タイムラインを用いるという事が考えられます。実況タイムラインとは、視聴者がアニメを見ながらその様子や感想をそのままつぶやくものであるため、アニメのエピソードに一対一に対応する、いわばアニメを説明する文書と捉える事ができます。この文書 = アニメ実況タイムライン同士の類似度というのが、エピソード間の類似度の一つの指標として使えるのではないでしょうか。 今回は、この方針

    実況タイムラインとトピックモデルを用いたプリキュアのエピソード間の類似度計算 - Qiita
    sh19910711
    sh19910711 2021/08/21
    2018 / "あのアニメの、あの話とあの話の類似度が計算したい / 実況タイムライン: アニメのエピソードに一対一に対応する、いわばアニメを説明する文書 / スポーツに関しては既に研究があるため"
  • アジャイル設計の本を読んでいる | ゴミ人間.com

    単一責任の原則(SRP: Single Responsibility Principle) オープンクローズド原則(OCP: Open-Closed Principle) リスコフの置換原則(LSP: Liskov Substitution Principle) 依存関係逆転の原則(DIP: Dependency Inversion Principle) インターフェース分離の原則(ISP: Interface Segregation Principle) 設計に関するいろいろながでているが、基的にまずこれを守れてない上でそういうものを取り入れようとしても、かえってカオスになるケースのほうが多いのではないかなぁと個人的に感じている。まあ採用しているアーキテクチャなど状況によりけりでしょうけど。とはいえ、ソフトウェアのうまくいっている部分に無理やり、この 5 原則を適用しにかかるのはやめ

    アジャイル設計の本を読んでいる | ゴミ人間.com
    sh19910711
    sh19910711 2021/08/21
    "硬い設計: 変更が難しい、1行の変更をしようとすると芋づる式に変更箇所が膨らむ / もろい設計: 1つの変更により他の多くの部分が壊れてしまう傾向"
  • コードレビューについての文書を書いていた - imog

    色々決めごとをするときは社内にissueなりwikiなり残すのですが、これは外に公開してもいいんじゃない?と思ったので公開します。 今回は「コードレビューの導入する」というやつです なぜコードレビューをするのか 大きく二つの効果があると思っています コードの品質を保つ 一人でコードを書いたときに、それが対応として適切であるかどうかを判断するのは結構難しいです。 基的には機能を実装するとき、以下の三つについて確認する必要があると考えています。 コードの書き方が適切であるか 解決方法が適切であるか 修正箇所以外の影響への対応は適切であるか 下に行くほど考えるべき領域が広くなっていきます。 領域が広くなるほどに一人で対応できる難易度は上がっていくため、漏れが発生し不具合が起きてしまいます。 特に3に関しては自分が予想だにしていないところに影響を与えるなどありがちです。 これを防ぐためにテストコ

    コードレビューについての文書を書いていた - imog
    sh19910711
    sh19910711 2021/08/21
    "他人の視点、知識から問題を発見していくことが重要 / 品質を保つためのレビューだけではなく、自身がコードの内容を把握するためにレビューしていく習慣をつけることで属人化に対処できる / なぜを書く"
  • gganimateでバーチャートレースを作って競争心を煽る - 株式会社ホクソエムのブログ

    ホクソエムサポーターの輿石です。普段はデータ分析会社で分析業務や社内Rパッケージ開発をはじめ分析環境を整備する仕事をしています。 最近WEB系のメディアで「バーチャートレース(bar chart race )」と呼ばれるぬるぬる動く棒グラフを見ることが増えてきました。興味を惹くという点で優れた面白い可視化だと思います。Rではgganimateパッケージを使うことで簡単にggplot2のグラフをアニメーションにできたので、作成方法を細かい部分含めて紹介します。 なお、記事ではggplot2の詳細には触れていませんが、詳細は「Rグラフィックスクックブック」がオススメです。なんと記事が投稿された2019年11月21日は約6年ぶりの改版となる第2版の発売日なようです!6年前は少し面倒だったことも今ではより簡単にできるようになっていたりするので、すでにggplot2が使えるあなたも是非ッ。 Rグ

    gganimateでバーチャートレースを作って競争心を煽る - 株式会社ホクソエムのブログ
    sh19910711
    sh19910711 2021/08/21
    gganimate / "バーチャートレースを作成する場合は、geom_bar()ではなく、geom_tile()を使うことがポイント / ggplot2が書ければアニメーションも作れてしまいますね。R凄い"
  • ワンライン整理法が便利だよ、という話|MAEDA Takahiro

    iPhoneアプリの並べ方、人によってそれぞれこだわりがあると思うが、自分はもう10年くらい「ワンライン整理法」でやっている。自分がオリジネーターではなくて、何かのネット記事で読んだのがきっかけである。 10年使ってみて「やっぱりこれがファイナルアンサーだな」(この言い回しもいずれ通用しなくなる)と思う機会すらないほど当たり前に使っているのだが、今まで他人のホーム画面でこれを採用している人を見たことがない。メジャーではないにしても一つの流派としては確立されているのかと思ったら、「アプリの並べ方」みたいなネット記事にも全然この方法が出てこない。 なので、「ワンライン整理法」を後世に伝えるべく、ここに書いておこうと思う。当に便利なので、ちょっと試してみてほしい。 やり方はめちゃくちゃ単純。 1 横1列のアプリの並びを1つの「ジャンル」として考える。 2 列の左端にそのジャンルのアプリを集めた

    ワンライン整理法が便利だよ、という話|MAEDA Takahiro
    sh19910711
    sh19910711 2021/08/21
    iPhoneアプリの並べ方 / "横1列のアプリの並びを1つの「ジャンル」として考える / 列の左端にそのジャンルのアプリを集めたフォルダを作る / 使用頻度の高いアプリ3つについては、フォルダの外に出し、同じ列に並べる"
  • Youngbin Kim et al. 「Serverless Data Analytics with Flint」 - データが主食

    ktr89.hateblo.jp に関連して、サーバーレスでビッグデータ処理しているような事例を調べたら、他にも論文が出てきたので読んでみました。 Hadoopクラスターを自前で用意する時代は終わりを迎えていて、AWS LambdaGoogle Cloud FunctionなどのFunction as a Serviceでビッグデータ処理をするような事例も近いうちに出てくるかもしれません。 arxiv.org Author AuthorのYoungbin KimはLinkedInによるとカナダのWaterloo大学のTeaching Assistantの方のようです。 共著のJimmy Linはhttps://cs.uwaterloo.ca/~jimmylin/によるとWaterloo大学の教授のようです。 彼らの課題感 Ecri Jonas et al.「Occupy the Clou

    Youngbin Kim et al. 「Serverless Data Analytics with Flint」 - データが主食
    sh19910711
    sh19910711 2021/08/21
    "Sparkインフラを用意するのが大変 / FlintはAWS Lambdaをメインに利用し、その他S3、RDS、SQSを利用 / SparkのSchedulerBackendをカスタマイズして実装 / AWS/GCPがサポートしてくれないと研究で終わりそう" / https://arxiv.org/abs/1803.06354
  • 前処理が単語埋め込みに与える影響 A Comprehensive Analysis of Preprocessing for Word Representation Learning in Affective Tasks

    ACL2020 に採択された A Comprehensive Analysis of Preprocessing for Word Representation Learning in Affective Tasks という論文を読んでいます。特に感情認識系のタスクにおいて前処理が単語埋め込みに与える影響を調べ、よく行われる実験設定が当に正しいのかを検証しています。

    前処理が単語埋め込みに与える影響 A Comprehensive Analysis of Preprocessing for Word Representation Learning in Affective Tasks
    sh19910711
    sh19910711 2021/08/21
    "negation が最も効果があり、一般的な stopwords や stemming はスコアを下げることが多い / A Comprehensive Analysis of Preprocessing for Word Representation Learning in Affective Tasks (ACL2020)"
  • ディリクレ過程混合モデルによるクラスタリングの直感的理解(前編) - Fixstars Tech Blog /proc/cpuinfo

    このブログは、株式会社フィックスターズのエンジニアが、あらゆるテーマについて自由に書いているブログです。 特徴空間上に分布した $n$個のパターン $x_1, x_2, …, x_n$ を、いくつかの塊に分割することを考えます。いくつの塊 (クラスタ) に分割すべきなのか?は分かっていません。このような状況でパターンを適切にクラスタに分割する方法、即ちクラスタリングについて考えます。 ここでは、ディリクレ過程混合モデルによるクラスタリングについて考えてみます。ディリクレ過程混合モデルによるクラスタリングは、事前にクラスタがいくつあるか知らなくても、適切に分割できる優れた方法です。k-means 法などでは、あらかじめクラスタがいくつなのか、指定する必要があります。ただ、ディリクレ過程混合モデルによるクラスタリングは、全体像を捉えるのが難しいです。そこで、この記事では細部を適当に省略しつつ、

    ディリクレ過程混合モデルによるクラスタリングの直感的理解(前編) - Fixstars Tech Blog /proc/cpuinfo