スライド概要 「第27回 MLOps 勉強会」で発表した内容になります。 https://mlops.connpass.com/event/270245/ 社内で利用されている全社共通レコメンドプラットフォームでのモデル開発の効率化や品質向上に関するMLOpsの取り組みの紹介
Working as a core maintainer for PyTorch Lightning, I've grown a strong appreciation for the value of tests in software development. As I've been spinning up a new project at work, I've been spending a fair amount of time thinking about how we should test machine learning systems. A couple weeks ago, one of my coworkers sent me a fascinating paper on the topic which inspired me to dig in, collect
Okapi BM25 はオープンソースの検索エンジンとして有名な Elasticsearch やそのエンジンである Apache Lucene で採用されている検索のランキングアルゴリズムです。 ランキング手法としては TF-IDF が有名ですが、BM25 は TF-IDF を改良した物と言えます。また一方で、BM25 は確率論をベースとしたモデルを採用した手法でもあります。多くの検索エンジンでデフォルトのランキングアルゴリズムとして採用されており、BM25 は「現代版 TF-IDF」と言えると思います。 BM25 は以下を主要なアイデアとして採用した手法になります。この記事では二回にわたってこれらを解説していきます。 条件付き確率を基礎としたスコアリング ロバートソン/スパルクジョーンズ重み付け関数 (IDF に相当) Binary Independence Model (BIM) El
Python Python, コード 44520view 【2025】コピペOKなPythonのコード一覧!機械学習とPythonのコツも解説 AI機械学習を用いた経営問題の解決や、3D CAD/CAMソフトウェア、IoTを通じた製造業向けの「設計から製造」までの効率化など、幅広い業種へ多数のコンサルティングの経験を持つ。手塚治虫AIプロジェクトの「TEZUKA2020」にてプロジェクトマネジメントを担当した他、製造業の画像AI、道路インフラの異常検知AI、建築関係の見積もりAI等、様々な企業様向けのコンサルティングを実施。株式会社VOSTの立ち上げメンバーで、最新の技術を複合的に融合し、わかりやすく伝えることをモットーに活動している。 今回は、機械学習でよく使うPythonのプログラムコードをアルゴリズム別に紹介していきます。 そして、機械学習といえばScikit-Learn。Sciki
こんにちは!逆瀬川 ( https://twitter.com/gyakuse ) です。 今日はGPT-3.5を使って論文を自動分類するモデルのための教師データを作ってみました。 これから文章分類とかやってみたいな〜って人の参考になれば嬉しいです。 まだまだ勉強中なので、おかしなところとかあるかもしれませんが、もしそういうところあったらぜひ指摘してください! 前段 arXivに投稿されるCS論文は多い月で8000本程度あります。これを全部チェックしようとするとものすごく時間がかかってしまいます。そのため、自動的にAbstractを要約して、Discordの各カテゴリ速報チャンネルに投稿しようと思いました。 全体構成としては、以下のような構造になっていると論文読みが捗りそうです(なお、オープンで無償のサービスであっても、論文のライセンスに気をつける必要があります)。 自動要約・自動翻訳の仕
こんにちは、メルカリのAI/LLMチームで機械学習エンジニアをしているarr0wとshoです! 本テックブログでは、Vision-Language Modelの一つであるSigLIP [1]を、メルカリの商品データ(Image-Text Pairs)でファインチューニングし、メルカリの商品画像Embeddingの性能を大幅に改善したプロジェクトについて紹介します。 今回作成したSigLIPの性能を評価するために、商品詳細ページの「見た目が近い商品」のレコメンド機能でA/Bテストを実施しました。 この「見た目が近い商品」のレコメンド機能は、社内ではSimilar Looksと呼ばれています。作成したモデルをSimilar Looksの類似画像検索に適用し、既存モデルとの比較のためのA/Bテストを行いました。 そして、その結果として、主要なKPIにおいて以下のような顕著な改善が確認できました。
はじめに こんにちは。ZENKIGEN DSチームに所属しているはまなすです。DeNA AI技術開発部より[1]、業務委託という形で主に深層学習系の開発に携わっています。 今回は、ニューラルネットワークを用いて3次元空間を表現する NeRF という技術に基づいた、立体空間内で物体検出をおこなう手法 NeRF-RPN についてご紹介します。 本研究は昨年末に発表されたものですが、今のところ実験結果が限定的であるため、直ちに実応用に展開されているわけではありません。一方で、今回ご紹介するような『NeRFの上に積み重なる手法』は、NeRFを活用する土壌をさらに拡大させる一翼を担っていくことが期待されます。 近年は表現技術としてのNeRFそれ自体の発展が目覚ましいですが、NeRF-RPN は、その上で『なにをするか』を充実させるためのひとつの基礎研究となるでしょう。 ▼ NeRF-RPN はなにを
競技プログラミングに慣れ親しんでいる方なら、セグメント木というデータ構造について、一度は聞いたことがあるでしょう。この記事は、セグメント木の構造を理解する必要はないが、使い方を知っておきたいという方のために書かれています。 この記事では、まずセグメント木について紹介し、それからセグメント木を実際に使う際の技法について紹介します。 セグメント木とは セグメント木は、固定長配列にいくつかの操作を加えたデータ構造です。セグメント木は、基本的には以下の操作を時間計算量 O(\log n) ですることができます。 i 番目の要素に x を代入 i 番目の要素を取得 l 番目の要素から r 番目の要素のモノイド積[1]を計算 ここで、モノイドを知らない方もいるかもしれませんので、モノイドについて紹介します。 モノイド モノイドは、実数や複素数の足し算や掛け算、文字列の連結といった、集合とその演算をまと
自然言語処理モデルT5を使って文章単位の埋め込み量(Sentence Embedding)を取得することを考えます。T5のEmbeddingはトークン単位ですが、平均を取ることで、簡単に文章単位に変換できます。Sentence T5としてモデルが公開されていない場合でも、既存のT5から自在に特徴量を取得できることを目標とします。Flan-T5からSentence Embeddingをとって見たりします。 はじめに 普段画像処理ばっかりやってる自然言語処理素人だけど、Imagenで使っていたり、Unified IOがベースにしていたり、何かとT5を聞きますよね。 調べていたらtransformersのライブラリから簡単に利用できることがわかったので、今回遊んでいきたいと思います。このブログでは珍しいNLPの内容です。 問題点 (自然言語処理やっている人には当たり前かもしれませんが、)一つ問題
この記事はSansan Advent Calendar 2022の記事です。 はじめに こんにちは。fujisyo32です。入社してから1年が経過しました。いくつかのコンペに参加したり、国内の学会で発表したり、インターンのメンターを担当したりと色々あった一年でした。さて、今年は拡散モデルを使った画像生成モデルが広く共有されインターネット上で話題になっていました。拡散モデルのベースとなるアイデアはシンプルで、ノイズからスタートして徐々にノイズを除去していくことで画像を生成します。 https://arxiv.org/abs/2006.11239 話題になったのは文章をもとに画像を生成するモデルですが、このアイデアは他の生成モデルでも当然使えるはずです。そこで文生成もできるんじゃないかなと思っていたところ、すでに先行研究が複数あったので紹介します。 拡散モデルは画像などの連続値に適用することを
Amazon Simple Storage Service (Amazon S3) バケットに保存されているデータへの異常なアクセスを効果的に検出する、新しい機械学習技術が Amazon GuardDuty に組み込まれました。この新機能は、アカウント内の S3 データプレーン API 呼び出し (GET、PUT、DELETE など) を継続的にモデル化し、確率的予測を組み込んで、S3 バケットに保存されているデータへの疑わしいユーザーアクセス (異常な地理的位置からのリクエスト、データの不正引き出しと思われる不自然に多い API コールなど) をより正確に判断して警告を発します。この新しい機械学習アプローチでは、データの検出、改ざん、不正引き出しなど、既知の攻撃戦術に関連する悪意のあるアクティビティをより正確に特定できます。新しい脅威検出は、追加の対応および追加の費用なしで、GuardD
はじめに 前回の記事ではscikit-learnのiris(あやめ)のデータを使ってロジスティクス回帰による分類問題に挑戦しました。使用したデータは、比較的素直な分類しやすいデータだったので、ロジィステック回帰でも適度な分類ができたと思います。 しかし、実際のデータはそう簡単に分類できないものも多くあります。特にデータの中で潜在的に分割できるポイントがあればいいのですが、実際はそうとは限りません。考えてみれば当然で、ぱっと見でデータに相関関係が見て取れる場合、そのデータを分析に回すことはないでしょう。 本記事ではこうしたカンタンに分類できないデータ(線形分類不能なデータを)分類する方法として、scikit-learnの分類アルゴリズムであるサポートベクターマシン(SVM)をご紹介します。本格的にSVMを理解しようとすると大学院レベルの数学が必要となりますので、あまり内部のメカニズムには立ち
はじめに Turing 株式会社のリサーチチームでインターンをしている東京工業大学 横田研究室B4の藤井(@okoge_kaz)です。 2022年11月末にChatGPTがリリースされてから早1年、2023年は大規模言語モデル開発の領域において飛躍の1年となりました。国内でもCyberAgent, PFN, ELYZAを筆頭に3B〜13B程度のモデルが多数公開され、多くの方にとってLLMが身近になった1年であったかと思われます。 Turingでは完全自動運転の実現に向けた研究開発の一環としてLLMに早くから着目し、社内で研究開発を行ってきました。 また、私はLLM-jp 13Bの開発など国内の言語モデル開発に複数関わっている関係上、それらを通じて様々な生きた開発知見を多数得てきました。 そのような中で、実際に手を動かす実働部隊が「公開されている知見」をきちんと理解しておくことの重要性を日々
PyTorchで日本語BERTと日本語DistilBERTの文章分類の精度比較をしてみた&BERTの精度向上テクニックの紹介Python自然言語処理PyTorchbert はじめに 前回の記事でhuggingface/transformersを使って日本語BERTを使ってみましたが、huggingface/transformersを使えば、他の事前学習済のBERTモデルも簡単に扱えます。 使えるモデルの一覧のうち、日本語のものと思われるモデルは他にもDistilBERTとかALBERTとかがあるようです。どちらも軽量版BERTって位置づけですかね。 今回はhuggingfaceからも使えるバンダイナムコさんが提供しているDistilBERTを簡単に紹介しつつ、通常のBERTとの精度比較を行ってみました。最後にBERTで文章分類をする際の精度を向上させるテクニックの1つも紹介してみます。 D
こんにちは、技術開発ユニットの三浦です。 「続けること」を増やすことをこの頃意識しています。なるべく毎日続けられる小さな習慣を、少しずつ増やしていきたいなぁと。今は短い英語の文章を、声に出してノートに書き写すことを習慣化しようとしています。 さて、前回深層学習のモデル「Transformer」について調べたことをまとめました。 techblog.cccmk.co.jp 今回はこのTransformerを実際に使ってみたい、ということで、Transformerベースの色々なモデルを使うことが出来るライブラリ「Transformers」を調べて使ってみた話をご紹介させていただきます。 Transformers Transformersはhuggingfaceが公開している機械学習、特に自然言語処理を主とした深層学習向けのライブラリです。 huggingface.co 2022年2月現在、バック
※2018年06月23日追記 PyTorchを使用した最新版の内容を次の書籍にまとめました。 つくりながら学ぶ! 深層強化学習 ~PyTorchによる実践プログラミング~ 18年6月28日発売 これから強化学習を勉強したい人に向けて、「どんなアルゴリズムがあるのか」、「どの順番で勉強すれば良いのか」を示した強化学習アルゴリズムの「学習マップ」を作成しました。 さらに、各手法を実際にどう実装すれば良いのかを、簡単な例題を対象に実装しました。 本記事では、ひとつずつ解説します。 オレンジ枠の手法は、実装例を紹介します。 ※今回マップを作るにあたっては、以下の文献を参考にしました。 ●速習 強化学習: 基礎理論とアルゴリズム(書籍) ●Deep Learning for Video Game Playing 強化学習とは 強化学習は、画像識別のような教師あり学習や、クラスタリングのような教師なし
今回は、VQ-VAE(Vector Quantised-Variational AutoEncoder)を解説したいと思います。 VQ-VAEもVAE(Variational AutoEncoder)と同じで潜在変数を使った画像などの生成モデルです。 通常のVAEと違うところは、VAEでは潜在変数\(z\)が連続的なベクトルを取りましたが、VQ-VAEでは潜在変数が離散的なベクトルを取る点です。 画像や自然言語は本来離散的なもので、例えば「犬」から「猫」へ少しずつ変化していくものでありません。 ですので、潜在変数を離散的にすることは自然であると言えます。 では、以下の論文をもとに解説していきたいと思います。 『Neural Discrete Representation Learning』 最後にTensorflowで実装していますので、そちらも参考にしていただければと思います。 PyTo
この記事の目的 しゃくとり法のバグりにくい実装の紹介です! しゃくとり法(尺取り法)って? しゃくとり法の説明自体は、とってもいいまとめがあるのでこちらをご覧ください。 しゃくとり法 (尺取り法) の解説と、それを用いる問題のまとめ でも、しゃくとり法ってバグりません? しゃくとり法っていざ書いてみるとかなりの確率でバグります。 区間の端を表す添え字 $l$ と $r$ の動かし方が結構混乱します。 この記事ではdeque(両端キュー)を使った実装を紹介します。 なんとこの実装では添え字を使う必要がありません! deque(両端キュー)によるしゃくとり法の実装 次の問題を例にとって説明します。 ABC 032 C - 列 長さ $n$ の整数列 $A = \{a_1, a_2,..., a_n\}$の連続部分列で、その要素の積が $K$ 以下となるものの長さの最大値を求める問題です。 次の
こんにちは、RevCommでMiiTelの音声解析機能に関する研究開発を担当している石塚です。 2023年1月に開催された国際会議IEEE Workshop on Spoken Language and Technology (SLT) 2022で発表されたE-Branchformer: Branchformer with Enhanced Merging for Speech Recognition (Kim et al., 2023)*1という論文で、音声認識タスクで高い性能を発揮するE-Branchformerという新しい深層学習モデルが提案されました。論文中では英語の音声コーパスを用いて音声認識精度が評価されていますが、日本語についての評価は行われていません。 End-to-end音声処理ツールキットESPnetのversion 202301からこのE-Branchformerが利
Machine learning operations, MLOps, are best practices for businesses to run AI successfully with help from an expanding smorgasbord of software products and cloud services. Note: This article was updated in March 2023 with the latest information on MLOps software and service providers. MLOps may sound like the name of a shaggy, one-eyed monster, but it’s actually an acronym that spells success in
はじめに こんにちは、AIチームの杉山です。 今回の記事では、QA検索などを行う際の文類似度の計算に、文の埋め込みベクトルを用いてknnで計算した場合とSVMを用いた場合の結果を簡易的ですが定量的に比較してみたいと思います。 動機としては、LangChainのRetrieverの実装にkNNだけでなくSVMを用いた実装が採用されており、その説明の中で以下のようにSVMの方が良いことが多いとされていたことでどれくらい性能が異なるかを確認したいと思ったためです。[1][2] TLDR in my experience it ~always works better to use an SVM instead of kNN, if you can afford the slight computational hit 具体的には、クエリ自身だけを1クラス、検索対象のドキュメント集合全体を別の1ク
Machine learning is a field in computational science that analyzes patterns and structures in data to help with learning, reasoning, and decision-making—all without human interaction. Data is the lifeblood of business, and machine learning helps identify signals among the data noise. Machine learning (ML), a subset of artificial intelligence, is at the center of Amazon’s business. It’s used by tea
はじめまして,インターンの中村です。今回は,アノテーションコストを抑えつつも,高性能な機械学習モデルを学習するための手法である能動学習 (Active Learning) について,その自然言語処理における研究例を紹介したいと思います。特に,自然言語処理において,大量のラベルありデータを集めることが難しく,必要最低限のアノテーションで高性能なモデルを効率的に学習したいといった方にぜひ一読をお勧めしたい内容となっています。 はじめに 深層学習の課題 Active Learningとは Active Learningの概要 1. ラベルなしデータの選択方法 2. ラベルなしデータの抽出基準 自然言語処理における Active Learning テキスト分類における Active Learning 事前学習済みモデル以前の Active learning 事前学習済みモデルを使った Active
This book develops an effective theory approach to understanding deep neural networks of practical relevance. Beginning from a first-principles component-level picture of networks, we explain how to determine an accurate description of the output of trained networks by solving layer-to-layer iteration equations and nonlinear learning dynamics. A main result is that the predictions of networks are
こんにちは AIチームの戸田です 今回は最近話題のChatGPTの学習に使われているRLHF(Reinforcement Learning from Human Feedback)を行うことができる強化学習フレームワーク、trlxを使った文章生成を試してみたいと思います。 trlxは強化学習手法としてILQL(Implicit Language Q-Learning)とPPO(Proximal Policy Optimization)の2種類が用意されており、それに加えて通常の言語モデルの学習であるSFT(Supervised Fine-Tuning)も実装されています。 本記事では日本語感情分析データセットWRIMEのデータでILQLを使った学習を行い、PPOは次回の記事で試したいと思います。trlxライブラリを一通り動かすことを目的とし、パラメータ調整やデータクレンジングなどのより良い
こんにちは、プラットフォーム事業部の河内です。最近は新オフィスを堪能しています。 さて、今年の 3 月に NVIDIA から Instant NeRF という手法が発表されました。 blogs.nvidia.co.jp NeRF がどんなものなのか、Instant NeRF が今までの手法と比べ何がすごいのかについては上記の記事でおおまかに掴めるかと思いますが、中身が気になるところです。 NVIDIA の記事中で Tiny CUDA Neural Networks ライブラリを使用とあるのでリポジトリを見てみると、どうやら TensorFlow や PyTorch を利用したものではなく、Instant NeRF の根幹となる手法のためにチューニングされたフレームワークのようです。 github.com リポジトリの README では 2 つの手法とその論文が引用されており、ひとつは "
2020.07.06 ML Pipeline事始め – kedro(+notebook)とMLflow Trackingで始めるpipeline入門 – こんにちは。次世代システム研究室のT.S.です AI/機械学習が不可欠となった昨今、数多くの方がKaggleなどの分析コンペ参加から機械学習モデルの実験、そして本番環境への適用まで色々実施してらっしゃると思います。 私もその一員で、日々モデルの実験から本番機械学習基盤の構築まで色々な分野の機械学習関連業務に従事しております。 そうした中で(皆様も同じ悩みを抱えているかと思いますが)実験->本番適用->運用に渡って、色々な悩みを抱えています。 一例ですが、こん悩みがあります 実験を複数回繰り返した結果、実行結果とハイパパラメータの組み合わせがゴチャゴチャになる 実験時の処理がモジュール化していないため、処理順序の入れ替えや追加が困難 実験時
Transformer models: an introduction and catalog — 2023 Edition January 16, 2023 52 minute read This post is now an ArXiV paper that you can print and cite. Update 05/2023 Another pretty large update after 4 months. I was invited to submit the article to a journal, so I decided to enlist some help from some LinkedIn colleages and completely revamp it. First off, we added a whole lot of new models,
はじめに DiscordやVRChatなど、オンラインでの会話を楽しむプラットフォームが近年賑わいを見せています。 そんな中で「さまざまな声質の音声で会話ができたら面白いだろう」と思い立ち、音声間での声質の変換ができる機械学習モデルを実装してみました。例えば以下の紹介動画のように変換できます。 機械学習の一手法「VITS」でアニメ声(つくよみちゃん)へ変換できるボイスチェンジャーを実装しました。https://t.co/LX0TV13uAD pic.twitter.com/vVWcDbUSpn — zassou (@zassouEX) February 25, 2022 また、今回用いたモデルではテキストの読み上げを実行することもできます。 読み上げを行うこともできます。 (こちらに関してはもう少しファインチューニングが必要そうです。) pic.twitter.com/xKPhTL7A0E
概要 AtCoderのコンテストに参加してから2年とちょっとの時間をかけて青色コーダーになりましたH20と申します。 この記事はいわゆる色変記事ですが、yukicoderへの参加を促す目的がメインとなっています。 まだyukicoderに登録していない人や、登録した後あまり問題を解いてない人が、この記事を機にyukicoderを利用していただければと考えています。 欲を言えば作問にも興味を持ってもらえるとなお嬉しいです。(さらに強欲になれば5/20に開催する予定のコンテストの参加も…ってちょっと強引だったですか) はじめに 競技プログラミングで楽しむ上で大事なのは、モチベーションを保つことだと考えています。 例えば、既存の問題を解く勉強を続け、コンテスト本番では新たに学んだアルゴリズムを利用して今まで解けなかった問題が解けるようになり、AtCoderのレートが上がるような好循環が続けばずっ
畳み込みニューラルネットワークと聞いて、画像処理を真っ先に思いつくのが普通だと思います。でも、実は別の分野でも大きな成果を出しています。今回扱う1次元畳み込みニューラルネットワークは自然言語処理などの時系列情報を認識する性能で再帰型ニューラルネットワークを凌いでいます。 そのため、今回は自身が1次元畳み込みニューラルネットワークについて学んだ結果をまとめつつ、記事として残したいと思います。もし、間違い等があったら教えていただけると大変助かります。 また、動画でも残していますので、以下にのせます。 畳み込みニューラルネットワークとは 畳み込みニューラルネットワーク(Convolutional Neural Network;CNN)とは、主に画像認識の場で使用される深層ニューラルネットワークで、局所的受容野と重み共有という特徴を生かし、全結合ニューラルネットワークに比べて少ないパラメータ数で空
まずはざっくり箇条書き。もっと説明すべきところは、そのうち別の記事にするかも。 あと本記事内容は、ある分野での機械学習案件における知見であって、そこまで汎用的なものではないかもしれない。 全体的な雰囲気 機械学習技術が必要になる仕事は全体の2割程度。よって、機械学習技術に精通していなくても活躍できる場面は多い。 むしろ、AutoMLや機械学習部分を自動化するようなフレームワークやツールが増えてきており、その他8割の方が今後は重要になるとも言える。 もちろん、その他作業を効率良く進めるためには、詳しいメンバーがいるに越したことはない。 だいたいの流れ 解こうとしている課題の理解 本当に機械学習必要としているのかも早めに議論が必要 データの理解 可視化とか色々して仮説を立てる準備を整える この時点でゴミデータの存在には気づいておくことが大事 仮説の検討 人がちょっと考えて解ける問題は、入出力前
こんにちは、LegalOn Technologies Researchで研究員をしている神田(@kampersanda)です。 弊社では、検索チーム主催でセマンティック検索とベクトル検索に関する社内勉強会を定期的に実施しています。この勉強会では、技術に関心のあるエンジニアが有志で議題を持ち寄り、知識共有を行っています。 その成果のひとつとして、文埋め込み技術であるSimCSEのチュートリアル資料を作成し、以下に公開しました。 github.com この資料はNotebookとして作成されており、SimCSEの学習から評価までの一連の動作を簡単に試して頂くことができます。また、コードの各パートには詳細なコメントや引用を付与しています。 本記事では、資料作成の目的や方法などを簡単に紹介します。チュートリアルの内容については、Notebookをご参照ください。 SimCSEの概要 SimCSEは
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く