2025.03.25

技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。 本記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 2022 と 2023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、本記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という
Common Lispの処理系であるSBCLをインストールしようとしたら、追加でlibzstd-develというのを新たに要求されるようになっていた。見るからに圧縮系のライブラリだけれど聞き慣れないのでちょっと調べてみた。 ちょろっと調べたところ、以下のことが分かった: Zstandard(ゼットスタンダード?)というのが正式な名前。 Facebookが開発した。 Deflateよりも速いことを主眼においている。 BSDライセンス。 Linuxカーネルまわりで使えるようになっているほか、一部のディストロではパッケージの圧縮フォーマットとして使われているようだ。 Webというよりはどちらかといえばバックエンド的な箇所で使われている印象がある。 facebook.github.io zstd コマンド使ってみた 他の名だたる圧縮アルゴリズム同様、Linuxで直接ファイルに対してこれを実行して圧
計算機による計算とは何か、計算できるものとできないものの境界はどこにあるのか―それを明らかにする計算理論は、計算機科学においてもっとも基本的、かつ重要なものです。本書では、概念の説明や、結果の証明にPythonプログラムを利用する実践的なアプローチにより、計算可能問題と計算不能問題、扱いやすい問題と扱いにくい問題があること、文章では簡単に表現できても計算機には解けない重要な問題が数多くあること、効率よく解ける問題と解けない問題があることなどを、計算理論の礎を築いたアラン・チューリングとリチャード・カープの論文の抜粋とともに解明します。チューリングマシン、有限オートマトン、万能計算、非決定性、チューリング還元、計算量クラス、NP完全性などのトピックをカバーしています。 謝辞 まえがき:教科書として使う方へ 全体像 1章 はじめに:計算できるもの, できないものとは 1.1 扱いやすい問題 1
私が2012年にニューラルネットの逆襲(当時のコメント)というのをブログに書いてからちょうど5年が経ちました。当時はまだDeep Learningという言葉が広まっておらず、AIという言葉を使うのが憚られるような時代でした。私達が、Preferred Networks(PFN)を立ち上げIoT、AIにフォーカスするのはそれから1年半後のことです。 この5年を振り返る良いタイミングだと思うので考えてみたいと思います。 1. Deep Learning Tsunami 多くの分野がこの5年間でDeep Learningの大きな影響を受け、分野特化の手法がDeep Learningベースの手法に置き換わることになりました。NLP(自然言語処理)の重鎮であるChris Manning教授もNLPで起きた現象を「Deep Learning Tsunami」[link] とよびその衝撃の大きさを表して
ディープラーニングの本格的な入門書。外部のライブラリに頼らずに、Python 3によってゼロからディープラーニングを作ることで、ディープラーニングの原理を楽しく学びます。ディープラーニングやニューラルネットワークの基礎だけでなく、誤差逆伝播法や畳み込みニューラルネットワークなども実装レベルで理解できます。ハイパーパラメータの決め方や重みの初期値といった実践的なテクニック、Batch NormalizationやDropout、Adamといった最近のトレンド、自動運転や画像生成、強化学習などの応用例、さらには、なぜディープラーニングは優れているのか? なぜ層を深くすると認識精度がよくなるのか? といった“Why”に関する問題も取り上げます。 関連ファイル サンプルコード 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正
コンテンツメディア事業本部の新卒エンジニア坂本がお送りいたします。 突然ですが、皆さんの好きなソートアルゴリズムはなんですか? 私は基数ソートのスマートでストイックな雰囲気に惹かれます。 とはいえ、普段の開発では「どのソートアルゴリズムを使うか」を意識することは少ないのではないでしょうか。 むしろ現実世界で「トランプが全部揃ってるか」を手作業で確認するときとかのほうが、実はソートアルゴリズムが必要なのかもしれません。 ということで(?)、そのような現実的な場面で、本当に実用的なソートアルゴリズムを決める戦いが始まりました。 選手紹介 今回試したソートアルゴリズムは、独断と偏見で選んだ以下の5種類。 1 挿入ソート シンプル・イズ・ベスト!正直言ってベンチマークの噛ませ犬! 2 クイックソート 「クイック」の名前はダテじゃない!王者の貫禄を見せてやれ! 3 マージソート 安定感のある隠れた実
お久しぶりです。徳永です。 講談社からオンライン機械学習というタイトルの本が出版されます。著者はPreferred Infrastructure/Preferred Networksの海野, 岡野原, 得居, 徳永の4人です。 機械学習の中でもオンライン機械学習に特化した本で、単純パーセプトロンから始まり、Passive Aggressive, Confidence Weighted, AROW, Soft Confidence Weightedなど(Passive Aggressive, Confidence Weighted, AROWは分散オンライン機械学習フレームワークJubatusでも実装されています)についてアルゴリズムの概要を説明したり、リグレット解析による性能解析について説明しています。また、分散環境でのオンライン機械学習や、深層学習での応用、効率的な実装方法など、応用的な
こんにちは。技術部検索グループの原島です。 上の画像は、スマートフォン(ブラウザ版)で見たクックパッドの検索結果ページです。レシピだけでなく、ニュースも表示されていますね。献立や掲示板のスレッドなどが表示されることもあります。 クックパッドでは、検索結果ページに表示するコンテンツをクエリなどに応じて最適化しています。最適化は、膨大なログデータと最新の機械学習を用いることで、実現しています。このエントリでは、クックパッドにおけるコンテンツ最適化の裏側を紹介します。 最適化の背景 スマートフォンの普及に伴って、ユーザが利用するプラットフォームは PC からモバイルにシフトしつつあります。クックパッドにおけるモバイル利用者の割合も、ここ 2 年で 10% 以上増加しました。最近では、60% 以上のユーザがモバイルからアクセスしています。 ユーザの利用形態が変化すれば、検索結果ページもその変化に対
The document summarizes two papers on language modeling techniques. [Zhang+ ACL2014] proposes applying Kneser-Ney smoothing to expected counts when training data has fractional weights, outperforming other methods on a domain adaptation task. [Pickhardt+ ACL2014] presents a generalized language model combining skipped n-grams and modified Kneser-Ney smoothing, reducing perplexity by 25.7% on small
Kiva Systems founder and CEO Mick Mountz narrates a play-by-play video of how Kiva robots automate a warehouse environment. Complete video available for free at: http://fora.tv/conference/wired_business_conference_2011 ----- How Robots Think: Why Artificial Intelligence Is Nothing Like the Human Mind Mick Mountz, Founder & CEO, Kiva Systems in conversation with Jason Tanz Mick Mountz is foun
目次 訳者まえがき はじめに 1章 Rを利用する 1.1 機械学習のためのR 1.1.1 Rのダウンロードとインストール 1.1.2 IDEとテキストエディタ 1.1.3 Rパッケージの読み込みとインストール 1.1.4 機械学習のためのRの基礎知識 1.1.5 Rに関する情報 2章 データの調査 2.1 探索と確証 2.2 データとは何か? 2.3 データ内の列の型を推論する 2.4 意味推論 2.5 数値による要約 2.6 平均値、中央値、最頻値 2.7 分位数 2.8 標準偏差と分散 2.9 探索的データの可視化 2.10 複数の列の関係の可視化 3章 分類:スパムフィルタ 3.1 白か黒か?二値分類 3.2 やさしい条件付き確率入門 3.3 初めてのベイズスパム分類器を書く 3.3.1 分類器を定義し、非スパム(難)でテストする 3.3.2 分類器をすべての種類の電子メールに対し
Sean Owen, Robin Anil, Ted Dunning, Ellen Friedman 著、伊東 直子、真鍋 加奈子、堀内 孝彦、都元 ダイスケ 訳 TOPICS Programming , Database 発行年月日 2012年10月 PRINT LENGTH 448 ISBN 978-4-87311-584-9 原書 Mahout in Action FORMAT Apacheプロジェクトが提供するオープンソースの機械学習ライブラリ、Mahoutについて包括的に解説する書籍です。協調フィルタリングによるレコメンデーションについて、オンメモリ実装からHadoopベースの並列実装までを説明することで、分散環境における機械学習アルゴリズムの全体像を明らかにします。また、データの中で似た者同士をクラスタにグループ化するクラスタリングアルゴリズムに触れ、さらに分類器の構築、サンプ
Google は、これまで良質で役立つウェブ上の情報をユーザーの皆さんが見つけやすくすることに力を注いできました。2011 年には、通称「 Panda アップデート」と呼ばれるアルゴリズムの変更を、英語を始めとした言語で行ってきましたが、本日、日本語、韓国語でも同様のアップデートを実施しました。 このアルゴリズムの変更は、より良質なサイトの掲載順位をより適切に評価することを目的としており、日本語、韓国語ともに約 4% の検索結果に影響する見込みです。詳細についてはウェブマスター向け公式ブログで紹介していますので、ご確認ください。 このアップデートが、ユーザーの皆さんにとって欲しい情報にもっと素早くアクセスできるようになればと考えています。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く