サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
cyberagent.ai
サイバーエージェント AI Lab の Human Computer Interaction Team に所属している兵頭です。今回は私が半年ほど蓄積したONNXのチューニングテクニックを全てブログに残したいと思います。皆さんが既にご存知であろう基本的なことから、かなりトリッキーなチューニングまで幅広くご紹介したいと思います。長文になりますがご容赦願います。今回は応用編2です。 8. 各種トリック PyTorchやTensorFlowを経由して生成されたONNXから他のフレームワークへモデルを転用する場合に有効な様々なトリック、ワークアラウンドをご紹介します。あまり真新しい知見ではありませんが、以下でご紹介するようなトリックが記事としてまとまっているものはあまり見かけませんのでご参考になれば幸いです。エンジニアよりもリサーチャーの方々に是非読んでいただきたい内容です。ほとんどの内容が地味で
AI事業本部 アプリ運用センターでデータサイエンティストをしている河中と申します。 今回は内定者としてアルバイトに参加している23卒内定者の稲葉さんに、信頼性が高く分析しやすいデータ基盤を構築するためにdbtというツールを導入するタスクに取り組んでもらいました。その中での技術的な話や内定者バイトを通して学んだことをブログにまとめてくれました。 ぜひ一読ください! 23卒エンジニア職内定者の稲葉です。2022年10月から3ヶ月間、AI事業本部小売DXディビジョンのアプリ運用センターでアルバイトをさせていただきました。私は、今までデータサイエンティストやバックエンドエンジニアなど幅広く技術に関わってきましたが、今回はアナリティクスエンジニアとしてデータ基盤の改修を行いました。 本稿では、Snowflake上で構築されているデータ分析基盤を dbtやgithub actionsのCI/CDを用い
基礎編 / 応用編1 / 応用編2 サイバーエージェント AI Lab の Conversational Agent Team に所属している兵頭です。今回は私が半年ほど蓄積したONNXのチューニングテクニックを全てブログに残したいと思います。皆さんが既にご存知であろう基本的なことから、かなりトリッキーなチューニングまで幅広くご紹介したいと思います。長文になりますがご容赦願います。今回は応用編1です。 このブログのメインターゲット層は「リサーチャーが実装したモデルを実環境へデプロイするタスクを有する方々」です。一部リサーチャーの方々の参考になる情報が混じっていることもあるかもしれませんが、あまり興味を引かない内容だとは思います。リサーチャーメインの組織に属しながらリサーチエンジニアの立ち位置で身を投じていますので、研究の観点の少し手前あるいは少しその先の部分を担っている立場からこのブログを
基礎編 / 応用編1 / 応用編2 サイバーエージェント AI Lab の Conversational Agent Teamに所属している兵頭です。今回は私が半年ほど蓄積したONNXのチューニングテクニックを全てブログに残したいと思います。皆さんが既にご存知であろう基本的なことから、かなりトリッキーなチューニングまで幅広くご紹介したいと思います。長文になりますがご容赦願います。 このブログのメインターゲット層は「リサーチャーが実装したモデルを実環境へデプロイするタスクを有する方々」です。一部リサーチャーの方々の参考になる情報が混じっていることもあるかもしれませんが、あまり興味を引かない内容だとは思います。リサーチャーメインの組織に属しながらリサーチエンジニアの立ち位置で身を投じていますので、研究の観点の少し手前あるいは少しその先の部分を担っている立場からこのブログを記載しているものとご認
こんにちは。リサーチサイエンティストの村上(@ichiroex)です。 現在、AI Lab NLPチームで広告文生成の研究に取り組んでいます。 はじめに 近年、GPT-3やT5などの事前学習された大規模言語モデルの登場により、言語生成技術は飛躍的な進歩を遂げています。最近では、Hugging Face社のTransformersを活用して、様々な研究者・団体から事前学習済みモデルが公開されるようになり、我々の研究やプロダクト開発においても言語生成技術がより身近になっています。 生成モデルの研究開発では、生成したテキストを様々な観点で評価することが一般的です [1]。例えば広告文生成では、評価指標の1つとして、商品やサービスの魅力をより豊かな言い回しで伝えるために、生成テキストの多様性が重要視されています。 具体的には以下のように、同じ広告訴求(商品数の豊富さ、送料無料)でも言い回しが異なれ
2021年度のノーベル経済学賞はDavid Card, Joshua Angrist, Guido Imbensの3名に贈られました。おめでとうございます! 特にJoshua Angirst氏は東京大学(CREPE)で3日間の集中講義を行った際にAI Labからも参加させていただいたため、非常に親近感がありとても嬉しいです。 プレスリリースのタイトルに「Natural experiments help answer important questions for society」とあることから、因果推論の手法それ自体というよりも、自然実験を社会にとって重要な問いへ適用し、重要な洞察を発見したことへの貢献が考慮されているのだと感じました。 このブログ記事では、受賞した3名の貢献をプレスリリースの要約と共に簡単に解説し、それがデータサイエンティストにとってどんな意味があるのかについて触れたいと
AI Labの芝田です (GitHub: @c-bata)。 以前、Optunaによる最適化結果を手軽に確認できるWebダッシュボードを開発・公開しました。公開からすでに半年以上が経過し、現在は公式に利用を推奨されるようになりました。Google Summer of Codeなどを通してcontributorやcommitterも増えつつある一方で、設計や実装に関しては資料を残してきませんでした(※1)。本記事ではダッシュボードの紹介をするとともに、開発に興味がある方向けに開発に役立つ情報をまとめておきます。 GitHub: https://github.com/optuna/optuna-dashboard optuna-dashboardとは? optuna-dashboardはOptunaによるハイパーパラメータの最適化結果をWebブラウザ上で簡単に確認できるツールです(※2)。
こんにちは、AI Lab の鈴木智之 (@tomoyukun) です。 最近、NLP分野で大きく成功した Transformer [1] が様々な研究領域で応用され始めており、最新論文をチェックしていく中で見ない日はないほどとなりました。今回はそんな中でも動画認識、特に動画分類において Transformer (及びそれを構成する計算機構) を応用した研究事例を紹介したいと思います。 動画分類は各動画に割り当てられたクラス (行動、イベント等) の分類問題です。動画認識というと行動検出・物体追跡・動画キャプション生成など動画を入力に定義される様々なタスクを含みますが、その中でも動画分類は汎用的な動画認識モデルのベンチマークタスクの一つとして位置付けられる、最も基本的なタスクです。 ※ この記事は Transformer 自体の解説は含みません。Transformer に関しては元論文 [1
AI Lab Graphics & Audioチームの武富です。昨年のECCV2020では、NeRF: Representing Scenes as Neural Radiance Fields for View Synthesisを筆頭にNeural Point-Based Graphics、Free View Synthesis、といった機械学習を使った新視点画像生成の研究発表があり、中でもNeRFは後続研究も数多く存在し新視点画像生成の研究はちょっとしたブームを迎えているように思います。 これらの新視点画像生成の研究では、事前に入力となる画像のカメラパラメータ(焦点距離などの内部パラメータと位置,姿勢の外部パラメータ)は何らかのツールによって取得されていることを想定している場合が多くあります。そこで、この記事では、多視点画像からカメラのパラメータを推定するStructure-from
AI Labの大田(@ciela)です。近頃はリサーチエンジニアとして研究成果を最大化するためのエンジニアリングに責任を持って日々活動しています。昨年もPyTorchに関する記事を書かせていただきましたが、今回もPyTorch、特にPyTorchでの学習データセットの取り扱いについてのお話になります。これまで部署内のプロダクトと関わる上でTensorFlowに浮気することも何度かありましたが、PyTorchに対する感覚を鈍らせたくはなく、今後もPyTorch関連の話題には頑張ってキャッチアップしていく所存です。 深層学習データセット取扱の課題 昨今の深層学習に用いられるデータセット内のデータ数は一般的に大規模です。実際に学習する上ではデータセットをシャッフルしつつ繰り返しロードし、場合によっては適切な前処理やData Augmentationだってしなくてはなりません。それらの処理を並列化
AILab Creative Researchチームの富樫です。 このブログでは先月末にarxivに投稿された“Item Recommendation from Implicit Feedback”[1]という論文を軸に紹介しつつ、 周辺分野の話題について議論したいと思います。 この論文はitem推薦というタスクにおける手法の各種パラダイムの概観をコンパクトに解説した教科書的内容になっています。 著者はBayesian Personalized Ranking (BPR)[2]を開発したGoogle Research所属のSteffen Rendle氏であり、 長年この分野を開拓してきた権威の一人です。 元論文の内容は元論文を読めばわかることですし、 蛇足かもしれませんが、最近の研究との関連性や議論、個人的な感想などを示すことで、このブログが元論文に対する補足資料のようになることを目指した
こんにちは、アドテクスタジオでセキュリティエンジニアをしている岡崎です。 皆様、年末年始はゆっくりできましたでしょうか。私は年始に公開された「Meltdown and Spectre」のお陰で年始早々、情報整理に追われてました。 今回は、先日「Meltdown and Spectre」の脆弱性のこともあり、脆弱性情報の見方と脆弱性情報API活用について、書かせていただきます。 1,脆弱性情報の見方 エンジニアの方であれば、脆弱性情報を確認する中でCVEやCVSSなどを目にすることが多いと思います。それぞれどのような意味を持ち、どのように見るのかを知っておきましょう。 先日あった「Meltdown and Spectre」を例に見ていきましょう。 https://meltdownattack.com/ https://spectreattack.com/ まず、このような脆弱性情報が公開され
AI Labの阿部 (@bakanaouji) です. 今年の7月に,6人プレイヤのポーカーのAIであるPluribus[1]が発表され,多人数不完全情報ゲームが着々と攻略されつつあるということを印象づけました. 今回は,不完全情報ゲームで戦略を計算するために使われるアルゴリズムであるCounterfactual Regret Minimization (CFR) [2]を花札「こいこい」に適用することで,このゲームにおけるAIを作成してみたいと思います. Counterfactual Regret Minimization CFRは,ナッシュ均衡戦略を効率的に計算するためのアルゴリズムで,二人零和不完全情報ゲームにおいてナッシュ均衡戦略を計算できることが保証されています.1 CFRは複数回のiterationを繰り返すアルゴリズムで,各iterationごとに「この行動を取ったほうが良か
AI Labの山口です。こちらの記事ではPythonのために開発した2Dグラフィックスライブラリ、skia-pythonの紹介をします。 概要 Skia-pythonはオープンソースで開発している高機能な2Dグラフィックスライブラリで、解像度に依存しないベクター形式で描画処理を記述することが可能です。もともとChromiumプロジェクトで描画バックエンドとしてC++で開発されていたグラフィクスライブラリのSkiaをPythonから呼び出せるようにラップして実装されています。Linux、Mac、Windowsでクロスプラットフォーム動作し、CPUおよびGPUデバイスでレンダリングをすることができます。PNG/JPEG/WEBPなどのラスタ画像形式での入出力の他、PDF/SVG形式での出力もサポートしています。 Skia-pythonを開発した背景として、Python環境でのベクターグラフィッ
こんにちは。AIRTRACK の豊田です。今回は技術マネジメントの話をします。 先日、チーム内でコロナ対策を万全に講じてイベントストーミングを実施してみました。 社内でもあまり行われていない取り組みのようなので、イベントストーミングとはなにかについて簡単に説明し、どのような課題を解決する手法なのかを見ていきます。加えて、実施にあたってどのような点について注意したのかといった点について、簡単に書きたいと思います。 この記事は実践寄りの感想になるため、イベントストーミングのやり方そのものについては深くは掘り下げていません。 AIRTRACK とは サイバーエージェントの AI 事業本部で、主に広告配信や小売向けのソリューションを提供しているプロダクトです。2014年から創業を開始し、以降さまざまなクライアントを獲得しながら発展してきたプロダクトで、現在では AI 事業本部の小売 DX 部門を支
AI Lab AutoMLチームの芝田です (GitHub: @c-bata)。 ハイパーパラメーター最適化は、機械学習モデルがその性能を発揮するために重要なプロセスの1つです。Pythonのハイパーパラメーター最適化ライブラリとして有名な Optuna [1] は、様々な最適化アルゴリズムに対応しつつも、使いやすく設計的にも優れたソフトウェアです。本記事ではOptunaの内部実装についてソフトウェア的な側面を中心に解説します。 Optunaの内部実装を理解するためには、主要コンポーネントの役割と全体の動作の流れを押さえる必要があります。しかしOptunaの開発は活発で、コード量も多くなり、全体の流れをコードから読み取ることは難しくなってきました。そこで今回Minitunaという小さなプログラムを用意しました。Minitunaには全部で3つのversionがあり、それぞれ100行、200行
AI Labの尾崎です。 主に人間とロボットとのインタラクションに関する技術開発を担当しております。 さて、インタラクションといえば、ARやVRを始めとしたxRが巷で流行っていると思います[1]。たとえば、家具のCGオブジェクトを現実空間に重ねて表示[2]したり、VRゴーグルをかぶって仮想空間の物体をリズムに合わせて斬るゲーム[3]なんかがあります。 このxRではユーザ体験を向上させるために、物体や人体との距離などを測定することがあります。たとえば、AR上でオブジェクトが障害物に隠れる現象(オクルージョン)を再現するため、VR空間上に手を表示するため、空間を3Dモデルとして保存するために測定されます。 このときに役立つハードウェアがデプスセンサやLiDARなどと呼ばれる3Dセンサ(俗称)[4]になります。しかし、この3Dセンサはたくさん種類があり、それぞれどのような特性を持つのか私を含め知
2020.3.26 【リサーチインターン】最適クリエイティブ数を予測する: UpLift Modelingを使った予測モデルの開発 こんにちは。2020年1月より1か月間、AI Lab Econチームでインターンをしていました浅川です。本稿では、今回のインターンシップ中に取り組んだ「UpLift Modeling を使った最適クリエイティブ数予測モデルの開発」についてご紹介します。 1. 問題設定 天気予報、音楽再生、乗り換え検索。スマートフォンをお使いの方なら、恐らく毎日のように多種多様なアプリを使っていると思います。皆さんの中にはアプリに表示される広告をクリックして、実際に購入したり、店舗に足を運んだりした経験のある方も少なくないと思います。 このアプリ内広告。ご存知の方も多いと思いますが、ほとんどがスマートフォンのアプリを開くと同時に、リアルタイムのオークション(Real Time
AI Labの尾崎です。 主に人間とロボットとのインタラクションに関する技術開発を担当しております。 さて、ロボットといえば、コミュニケーションロボットや自動運転車など、自律的に動いてもらって人の労働を助けるものが多いと思います。人の労働を助けるほど、ロボットに人並みに自律的で賢く動いてもらうためには、たとえば、ロボットに視覚を与える必要が出てきます。このときに役立つのがロボットビジョンを始めとした人工知能 (AI) です。特にロボットのAIのようなインターネットの末端 (エッジ) にいるAIをエッジAIと呼びます[1,22]。 最近では深層学習と呼ばれる技術が生まれ、このエッジAIの分野も革新的に進歩しました。深層学習のおかげでロボットは、目の前の歩行者を画像から認識したり、部屋のものを認識できるようになったりしました。しかし、この深層学習で作られたモデルを使うには莫大な量の計算をしなけ
AI Labの岩崎(@chck)です、こんにちは。今日は実験管理、広義ではMLOpsの話をしたいと思います。 MLOpsはもともとDevOpsの派生として生まれた言葉ですが、本稿では本番運用を見据えた機械学習ライフサイクル(実験ログやワークフロー)の管理を指します。 https://www.slideshare.net/databricks/mlflow-infrastructure-for-a-complete-machine-learning-life-cycle 参考記事のJan Teichmann氏の言葉を借りると、 エンジニアがDevOpsによって健全で継続的な開発・運用を実現している一方、 多くのデータサイエンティストは、ローカルでの作業と本番環境に大きなギャップを抱えている クラウド含む本番環境でのモデルのホスティングが考慮されないローカルでの作業 本番のデータボリュームやス
2020.1.31 Optunaからも使えるCMA Evolution Strategyの実装を公開しました。 Covariance Matrix Adaptation Evolution Strategy (CMA-ES)は、ブラックボックス最適化において最も有望な手法の1つです。CMA-ESはハイパーパラメータ最適化にも使われていて [1, 2]、近年では、ハイパーパラメータ最適化においても、評価回数が許容できる場合や並列化環境がある場合には、ベイズ最適化を上回る性能を示すことが報告されています[6]。 CMA-ESをPythonで実装しGitHubで公開したのでその使い方や性能について紹介します。Optunaからも利用できるようになっているのでぜひハイパーパラメータの最適化に使ってみてください。 URL: cmaes: Lightweight Covariance Matrix Ad
この1-2年でアドテクスタジオでもMulti-Arm-BanditやContextual-Banditといった単語がプロダクトとのMTGの中で飛び交うようになり、社内における応用例も徐々に増えてきました。 Banditそれ自体も非常に面白いのですが、個人的には「それをどの様に評価・比較するのか?」という問題が非常に面白いと考えています。 その大きな理由の一つは評価に因果推論の発想を用いる必要性が生じている事にあります。 今回は、Contextual-Banditの様なPolicyの評価方法について簡単なイントロを行えればと思います。 1. セットアップ 広告の画像をContextual-Banditで選択している様な状況を考えます。 すでに何らかの広告を見せる事が決まっているリクエスト(i)が来るたびに、そのリクエストを発生させたユーザーのcontext(X)が手に入り、それを元に報酬(r
AI Lab 経済学チームの森下(@GotaMorishita)です. 今年7月に複数人のポーカーで圧勝したポーカーAI, Pluribus[1]が話題になりました. Pluribusやその元となったLibratus[2]で用いられた理論は, ミクロ経済学の一分野であるゲーム理論のナッシュ均衡でした. ポーカーを展開型ゲームとして定式化し, そのゲームのナッシュ均衡を求め, それを最適戦略としたのです. ナッシュ均衡を求めるアルゴリズムはコンピューターサイエンスでは盛んに研究されており, LibratusやPluribusではCounterfactual Regret Minimization (CFR)と呼ばれる展開型ゲームのナッシュ均衡計算アルゴリズムを応用したものが使われています[3]. 弊ブログでも, 先日, CFRアルゴリズムを花札「こいこい」に適用させた例を紹介しました(こちら
こんにちは、経済学チームの安井(@housecat442)です。 今日は最近気になっていた論文の一つであるSynthetic Difference In Differenceの内容を簡単に紹介します。 この論文は近年CS系のトップカンファレンスでも大活躍のSusan Atheyとその一派によって書かれており、タイトルもSynthetic ControlとDifference in Differenceの合わせ技を匂わせる非常に興味深いものです。 Synthetic Control(SC)は近年経済学において利用される事が増えてきた、因果効果を推定するための手法です。ちなみに今年のNeurIPSではこのSCを提案したAlberto AbadieによってSCのtutorialが行われます。 そんなSCを拡張した方法であるSynthetic Difference In Difference(SD
2017.12.1 [Kubernetes] オンプレでも GKE Like な Ingress を使うために 自作 Ingress Controller を実装してみた こんにちは。 CIA の青山 真也です。 この記事は Kubernetes Advent Calendar 1日目の記事になります。 ちなみに CyberAgent Advent Calndar 1日目の記事も「GKE 互換のオンプレコンテナ基盤 AKE (Adtech Container Engine) 誕生秘話とアーキテクチャ完全公開!」というテーマで書いており、まるで夏休み最終日の気分です。 弊社のオンプレコンテナ基盤 AKE の話を詳細にまとめてありますので、こちらも是非お読み下さい。 今回は、SSL 終端や L7 パスベースルーティング及び L7 ロードバランシングを行ってくれる Ingress リソースの話を
アドテクとは、アドテクノロジーの略称。読んで字の如く、「アド(広告)」の「テクノロジー(技術)」のことを指し、 人手では実現不可能なレベルの広告配信を実現する技術にあたります。 技術を活用し、広告主とメディア(広告掲載媒体)、消費者をwin-winに導くため、発展してきました。 広告主にとっては、今までよりも高い広告効果をもたし、 メディアにとっては、収益の最大化や広告配信の効率化を実現しす。 アドテクの目的は主に2つ。 1:広告主が求める高い広告効果を出すために、より適切な場所/人に広告を出すこと 2:メディアの広告枠販売や広告配信の効率化を実現し、収益最大化の支援をすること これらを叶えるためには、私たち消費者の趣味趣向にあった情報(広告)を提供し、 その情報(広告)に興味を持ち、行動を起こしてもらう必要がありす。 私たち消費者が興味を示す広告を配信するため、「誰にどんな情報(広告)を
このページを最初にブックマークしてみませんか?
『cyberagent.ai』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く