サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
tech.stockmark.co.jp
2023年の4月から、プロダクト開発チームのEMを務めている岩谷です。本記事では、当時プロダクトエンジニア13人中3人の退職が重なる中々しびれる状況から、エンゲージメントや開発品質の改善に向き合い、怒涛の半年間が過ぎ、現在21人の組織になるまでに取り組んできたことや学びについてご紹介できればと思います。 事業背景2023年3月以前、以下のような組織体制で、私はML Engineering / MLOpsを推進する基盤チームのEMを勤めておりました。 プロダクト開発チームは、いわゆるマトリクス組織で、3つの職能横断のフィーチャーチームを構成し1つのAnewsというプロダクトを開発していました。エンジニアは全体でEMが1名、チームごとにエンジニアのリーダーがおり、開発の運用方法は全て各チームに委ねられている状態でした。 そんな中、EM1名、リーダー1名、エンジニア1名が新しいチャレンジの場を求
はじめにこの記事では、私たちが開発しているAnewsというプロダクトでのVue 3移行プロジェクトについて紹介していきます。 Anewsはビジネス向けにユーザーの趣向に合わせて日々のニュースなどの最新情報を提供するプロダクトです。フロントエンドはVue.jsというフレームワークを使用しています。2023年末にVue 2のサポート期限が迫っており、それまでにAnewsのVue 3移行を完遂すべく、Vue 3移行プロジェクトを行いました。 そこで得られた知見としてVue 2とVue 3の違いや、必要だった対応、実際に行った移行戦略などまとめていきたいと思います。 移行前の環境今のAnewsは2020年に開発がはじまり、AnewsはVue 2.6.12、TypeScriptを使用していました。 TypeScriptを活用して開発するため、TypeScriptのクラスでVueのコンポーネントを定義
エンジニアリングユニットの酒井といいます。 昨年の9月に入社し、Anewsの開発に従事しつつ時々SREっぽいこともしています。 今回は、自分が入社当初から改善したいなぁと考えていたAnewsのドキュメントについて、これまでやってきた取り組みについてお話しできればと思います。 取り組みを始めたきっかけそもそも自分は組織開発において、ドキュメントが重要だという認識がありました。それはこれまでの経験則によるところもありますし、『Googleのソフトウェアエンジニアリング』中で以下のような言及があり、重要性を再認識したというのもあります。 10.2 何故ドキュメンテーションが必要なのか p220: ドキュメンテーションは長期的に見ると決定的に重要であり、決定的に重要なコードにとっては特に、組織がスケールするのに伴い途方もない恩恵をもたらす。 テストを書くことは普通になりつつありますが、ドキュメント
こんにちは、エンジニアリングユニットの飯森です。 先日、Anewsのバッチ処理のテストフレームワークを刷新するプロジェクトに取り組みました。 本記事ではこの取り組みについて紹介します。 本記事を読むことで、以下の2点が分かります。 バッチ処理のテストフレームワークの刷新をどのように進めたのかストックマークでは工数がかかる改善施策にどのように取り組んでいるのかプロジェクトの背景最初に、Anewsのバッチ処理とそのテストフレームワークについて説明します。 Anewsとバッチ処理ストックマークはAI 情報収集プラットフォームAnewsを運営しています。 Anewsでは、ニュース、論文、特許といった様々な情報を国内外約35,000メディアから収集し、AIによる最適な情報配信を提供しています。 Anewsで配信されるコンテンツ(フィード)には様々な種類があります。 例えば、ユーザーの興味や嗜好に合わ
Research部門の近江崇宏です。 ストックマークではビジネスのドメインや最新情報(2023年9月まで)に対応した130億パラメータの大規模言語モデル(LLM)を商用利用も可能なライセンスで公開しました。 モデルはHuggingface Hubからダウンロードいただけます。 https://huggingface.co/stockmark/stockmark-13b このモデルは、合計2200億トークンの日本語のテキストデータにより事前学習が行われました。 一般に事前学習でよく使われるWikipediaやCommonCrawl由来のコーパスだけではなく、当社が独自に収集しているビジネスに関連するWebページや特許などのデータも用いました。 そのため、既存のモデルに比べると、最新の情報やビジネスのドメインに対応したようなモデルになっております。 実際に、ビジネスに関連する知識を問うタスクで
Stockmark の Researcher の広田です。 Stockmark には自然言語処理の研究開発を行う Research チームがあり、 その中の1つの組織に知識グラフの自動構築をテーマとする Knowledge Unit があります。 この記事では Knowledge Unit の取り組みを紹介します。 なぜ知識グラフなのか?ストックマークは企業向けの情報収集ツール Anews を提供しています。 私たちはよくお客様から、まだ自分たちが気づけていない情報があるのではないか不安だ、という声を耳にします。 市場動向や技術動向・競合他社情報などから気づきを得ることはビジネスにおいて非常に重要です。 一方で気づきを得るための情報収集はとても大変です。 インターネット上では日々膨大な量のテキストが公開されており、これらを人力で収集し尽くすことはとても難しくなっています。 また収集を行うに
Research部門の近江崇宏です。 今回、ストックマークは最近の話題にも詳しいGPT-NeoXをベースとした14億パラメータの日本語のLLM(大規模言語モデル)をオープンソースとして公開します。モデルはHugging Face Hubからダウンロードいただけます。 https://huggingface.co/stockmark/gpt-neox-japanese-1.4b 当社はビジネスにおける情報収集・分析をサポートするサービスを運営しており、そのために最新のWebデータの収集を日々行なっております。今回の事前学習では、一般にLLMの事前学習によく使われるCommon Crawl由来のデータだけでなく、当社が所有している独自のWebデータ(2023年6月まで)も含めて事前学習を行うことで、最近の話題にも詳しいモデルを開発しました。具体的には、事前学習に用いたデータセットはCC100の
はじめにどのスタートアップ企業でも、プロダクトリリースサイクルの高速化・最適化を心がけているかと思います。本記事では、ストックマークのプロダクトである Anews の新機能(論文配信)を例にとって、ストックマークの開発の実際について紹介いたします。 本記事から学べる点は大きく 3 点です。 高速な価値提供を実現するために意識すべきことフロー効率の極大化によりユーザー価値へつなげる方法中期目線で開発速度を保つ方法それでは、それぞれ個別に 1 つ見ていきましょう。 高速な価値提供を実現するために意識すべきことどんなプロダクトであっても、実装しようとしている機能は、何らかの方法で検証してみるまで顧客にとって必要なものか分かりません。本記事のテーマである論文配信機能についても同様ですが、少なくともユーザーインタビューなどの仮説検証で一定のニーズは確認できていました。 ニーズまでは確認できているので
本記事執筆時点の2023年4月時点で、ChatGPTのニュースを見ない日はないほど、世の中にChatGPTの記事が溢れています。「こんなことに使える」「あんなことに使える」と応用範囲が広いChatGPTですが、「あたかも当然のように嘘をつく」ように決して万能なわけではなく得手不得手があります。そんなChatGPTに対して、プロダクト開発側に立つ方にとって気になるのは「実際にプロダクトに組み込めるのだろうか?」という点でしょう。 そこで、本記事ではストックマークのプロダクトで実現している「記事中にあるノイズ削除」にフォーカスして、自社で利用するモデルとChatGPTとを比較していきます。なお、プロダクトに組み込む場合は、ChatGPTではなくAPIを利用するケースが自然ですが、GPT-4ベースのAPIを執筆時点で利用できなかったことから、ChatGPT Plus(GPT-4)を利用しています
クラウドインフラに関わるコストは、各企業にとって1つの重要テーマかと思います。毎月、支払うコストであり、数%の増減であったとしても最終的にかなりの金額になります。 昨今の為替事情もあり、そんなクラウドインフラのコストを弊社で削減してきた方法を本記事で紹介いたします。本記事を読むことで、実例と共に手法を学んでいただけます。 何を実施したか?ストックマークでは、クラウドインフラに AWS を活用しています。AWS のコスト削減のプラクティスは広く知られており、公式からもドキュメントが提供されています。 具体的な方法の中からいくつか代表的なものを取り上げると次のような項目があります。 コスト分析と監視リザーブドインスタンス、スポットインスタンスの活用オートスケーリングの活用ストレージの最適化データ転送の最適化リソースの削除や停止たとえばリザーブドインスタンスの導入といったすでに利用中なものもあり
本記事では、ストックマークで2022年の12月に実施した、6千万件を超える記事レコードの大規模データ基盤マイグレーションについて紹介いたします。本記事を読むことで、大規模データマイグレーションの勘所を実例から学べます。 本記事でお伝えする内容は以下の4点となっています 背景検討の進め方大変だったこと再現可能な知見背景ストックマークでは大量の記事データを利用するプロダクトとして、AnewsとAstrategyの2つのプロダクトがあります。どちらのプロダクトも共通の記事データストアにある内容に、プロダクトごとの弊社独自の自然言語処理を加えたものを活用しています。アーキテクチャを簡単に表すと次のようになっています。 AnewsとAstrategyでは解決する顧客課題が異なります。それぞれのプロダクト観点ごとに、顧客価値のディスカバリーを最優先としたことから、お互いのプロダクトで独自に進化してきた
はじめにResearch部門の江間見です。ストックマークでは、自然言語処理技術の研究開発を行っています。 弊社では、大量のビジネスニュースを解析対象としていますが、人間がすべてのビジネスニュースを精読することは不可能です。そのため、読むべき記事を判断するために、記事分類や要約等を行うことが必要不可欠となります。 近年では、この要約タスクの分野では、高い精度が報告されている事前学習済モデルBART等が存在します。 そこで、弊社で日本語向けのBART事前学習済モデルを作成しましたので、今回はそのモデルの紹介と公開を行います。 BART とはBART は、2019 年 10 月 29 日に Facebook社によって提案されました。 BART は、双方向エンコーダー (例えばBERT) と左から右へのデコーダー (例えばGPT) を使った seq2seq 構造を使用します。BART は、基本的に
本記事は、Stockmark Advent Calendar 2022 の 12 日目の記事です。 年の瀬といえば流行語大賞ですね。今年 2022 年も 大谷ルール や オミクロン株 などいろいろな流行語が世間を賑わせました。 弊社サービス Anews もこの1年を通して様々なニュースをお客様に届けてまいりました。 振り返ると、コロナウイルスやロシア・ウクライナ危機、サステイナビリティに対する関心の高まり、原材料の高騰問題などお客様のビジネスに大きな影響を与えるニュースがたくさんありました。 そこで今回は弊社サービス Anews でこの1年で配信されたニュース記事に対してキーフレーズ抽出を行い、2022年のトレンドを振り返ってみたいと思います。 またこの記事の後半ではキーフレーズを抽出するロジックについても解説します。 Anews についてストックマークはAI 情報収集プラットフォーム A
はじめにこんにちは、Researcherの北山です。今回は自然言語処理技術を用いてAstrategyにおける顧客体験向上のための取り組みを行ったので、その内容を共有したいと思います。 本内容は弊社のTech Meetup #04でも発表した内容になりますので、ご興味のある方はそちらもご覧いただけますと幸いです。 自然言語処理とは自然言語処理とは、我々が日常のコミュニケーションで用いている言語(自然言語)を機械で処理する技術のことです。情報系の分野では単に言語というとプログラミング言語を連想する方も多いため、それと区別するために自然言語という用語が使われています。自然言語処理が活用されている事例としては、例えば以下のようなものがあります。 弊社では、そういった自然言語処理を活用し、ニュース記事内の情報を構造化することによって顧客体験の向上に取り組んでいます。例えば、以下の例ではニュース記事か
ストックマーク Co-VPoE の岩瀬です。本記事はストックマーク アドベントカレンダー 2022の初日記事です。 ストックマークの開発チームは高速にかつ堅実に価値を生み出しています。その内部で何を意識しているのか、何を工夫しているのか、本記事でその一端をお届けします。効果的な開発プロセスを追求するエンジニアや、テックリード、エンジニアリングマネージャに少しでも参考になることを狙っています。(なお、概要+一部の公開ですので、全体像やより突っ込んだ詳細については、本記事最下部にあるカジュアル面談までお願いします!) 本記事で紹介するトピックは以下の6つです。 スキーマ駆動によるコミュニケーションの最適化Over Fetching を生み出さないAPI設計価値のベースラインを保つリグレッションテスト継続的なライブラリバージョンのメンテナンスCIは命綱「推測するな、計測せよ」によるユーザー体験の
はじめにStockmark のプロダクトでは、各メディアから記事を収集するために AWS Lambda (実行環境はNode.js) を大量に利用しています。「大量」とは実際にはどの程度なのかを紹介すると、月間で 1.6億 秒ほど(1日で約60日分) 使用しています。もしかしたら「えっ、なんでそんなに使っているの?」と思われているかもしれません。 本記事ではその疑問に回答しつつ、実運用から得られた知見を一部共有していきます。段階的に理解いただけるように、技術選定理由から説明していきます。 なぜ Node.js なのか?なぜ AWS Lambdaなのか?Lambda x Node.js でスクレイピングする際の落とし穴ということで、早速1つ目からいってみましょう! なぜ Node.js なのか?ストックマークのプロダクトでは、Web記事などを中心としてスクレイピングして収集した情報をベースに
ストックマークではプロダクト開発の方法として、プレスリリース駆動開発を採用しています。このアプローチは Amazon で Working Backwards と呼ばれる方法に類似した方法です。本記事では、実際にプレスリリース駆動開発を実施すると何が起こるのか?という点について紹介します。今後、プロダクト開発においてプレスリリース駆動開発を採用してみようかな?という方には、有益な情報になると思います。 先に実物を紹介本記事でベースとしているプレスリリースは Astrategy というプロダクトの新機能になります。 詳細は実物をご覧いただければと思いますが、内容草案はまさにプロダクトのPRD(Product Requirements Document)や、実装が進む前からプロダクトオーナーが書いていたものです。 では、詳細検討が進む前にプレスリリース案を作成すると、社内では何が起こるのでしょう
概要組織の拡大に伴う開発チームの分割、独立性向上のためにGitHubの運用フロー見直しと同時にFeature Flagの導入を行いました。 結果として、独立した開発をしてもコンフリクトが発生しづらくなったことにより生産性が向上、副次的効果として部分リリースにより問題の先行発見をしやすくなり、品質向上にもつながりました。 背景:GitHubのブランチ戦略がチームスケールの弊害にプロダクトや会社の成長に伴い、開発チームにはスピードと安定性の両面が求められるようになっていきますが、少人数のメンバーだと限界がやってきます。実際に、小さな改善はできるけど、ソフトウェアアーキテクチャ自体を見直すような大きな改善施策は、新規開発もある中で中々優先度を上げられないような状態が起きていました。 このような状況下で、開発組織としては総スループットを向上させる必要がありますが、単純に同じプロダクトの開発人数を増
2022/5/25 に Stockmark Tech Meetup #02 を開催しました!本記事では、2つ目のLTである “個別最適でプロダクトを作り続けたスタートアップがデータ専任部隊を作ることにした話” を再編成してお伝えいたします。本記事を読むことで、以下の2点が分かります。 AIスタートアップが膨大なデータに立ち向かってきた歴史ストックマークが抱える膨大なデータに対して、どのように開発チームがアプローチしているかストックマークのプロダクトはデータに支えられているまず前提として、ストックマークのプロダクトである Anews と Astrategy はどちらも、国内外で公開されている膨大なデータを利用しています。 上図のデータはWebクローラーによって毎日収集され蓄積されています。実装としては、大量のAWS lambdaによる汎用的な収集・抽出処理が内部で動作しています。Webクロー
グローバル化が進む現代において、様々な言語で情報収集を行う必要性がこれまで以上に高まっています。Stockmark ではそうしたお客様の情報収集を支援するために多言語テキストの解析にまつわる研究が行われています。本日はその基礎技術である多言語モデルについて紹介します。 多言語モデル (multilingual language models, crosslingual language models) は複数の言語を扱うことができる言語モデルです1。リソースが十分にない言語での下流タスクにおいて、多言語モデルのパフォーマンスが単言語の言語モデルよりも優れていることが報告されています (Wu and Dredze 2019)。また多言語を1つのモデルで扱えるようになることで、言語ごとに異なるモデルを用意する必要がなくなるという運用上の利点もあります。こうした点から近年では多言語モデルは自然言
本記事は Grouping Similar Articles with Search Engine More-Like-This Queries and Graph Algorithms の翻訳記事です。以前の記事である More Like This Query を活用した類似記事集約 入門 から、より踏み込んだ内容になっています。 はじめにストックマークでは、毎日数千のメディアから数万件のニュース記事を収集しています。そのときに、異なるメディアから類似した内容の記事がクロールされることもあります。その一方で、これらの内容の重複した記事をそのままユーザに表示してしまうと、ユーザの情報収集体験を損ねてしまう可能性があります。そのため、ストックマークのプロダクトであるAnewsので記事推薦や、Astrategyでの事業活動比較などのニュース分析サービスにおいて、より良いユーザー体験を提供するた
Grouping Similar Articles with Search Engine More-Like-This Queries and Graph Algorithms Please refer here for a related post in Japanese. IntroductionIn Stockmark, we collect tens of thousands of news articles from thousands of different media sources every day. Articles with similar content may be crawled from different news media. It is vital to detect and group similar articles in order to pro
はじめに本記事では、ストックマークのプロダクトの実装で工夫している類似記事集約という技術について紹介します。本技術により、多くのドキュメントを扱う機会がある場合に、お客様に高い価値を提供できるようになります。 ストックマークでは社内のResearchチームと連携して、類似記事集約において実装面での工夫をいくつか積み重ねています。本記事ではまずイントロダクションとして、特にコアとなる OpenSearch の More Like This Query について紹介します。今後公開する別記事では、さらに発展的な類似記事集約の仕組みを紹介予定です。 さて、本記事で扱う主なトピックはこちらです。 類似記事集約がなぜ必要なのか?類似記事集約の実装方法とロジックストックマーク独自の工夫過去記事を含む再適用というわけで早速、本題に進みましょう! 類似記事集約がなぜ必要なのか?ストックマークのプロダクトは
こんにちは、Machine Learning部門の森長です。 昨年(2021年)の9月に開催されました、AWS Dev Day Online Japanのスペシャルプログラム #1:ボケて電笑戦に参加させていただきました。 そこで、本記事では、ボケて電笑戦で作成したお笑いモデルについて紹介いたします。 ボケて電笑戦とはボケて電笑戦とは、「AIは人を笑わせられるのか?」という問いを解明すべく、アマゾンの奥地へ向かった膨大なボケのデータを学習させて新たな笑いを作り出せるのかを競い合う挑戦です。 今回のボケて電笑戦では、弊社を含め3企業がお笑いモデルを独自に作成して、人を笑わせるべく大喜利対決を行いました。 詳細は、スペシャルプログラム #1:ボケて電笑戦に以下のような記載されていますので、ご覧いただければと思います。 人間の喜怒哀楽に AI は影響を与えることができるのでしょうか。「ボケて電笑
はじめにこんにちは、Anewsのエンジニアリングマネージャーの山崎です。 この記事はストックマークアドベントカレンダーの22日目の記事です。 普段は、エンジニアリングマネージャーとして開発体制や中長期のエンジニア戦略を考えています。 またエンジニアリングマネージャーとは別にエンジニアとしてAnewsのFlutterアプリの開発を行なっています。 Anewsの開発組織では全員がフルスタックエンジニアとして働くことを推奨しており、 開発体制やプロセスについてもフロントエンド、バックエンドなどの領域を意識せず顧客への価値提供を最大化するためエンジニアが必要な開発を行うようにしています。 その中で、モバイルアプリだけは固定されたメンバーで開発を行うような体制になっています。 理由としては、 ・ モバイルアプリの開発経験が少ない ・ モバイルアプリのコードが複雑になっており、学習コストが高くなってい
ML事業部の金田です。今回はAnewsへの応用を見越して実施した、公開データセット(MINDデータセット)を用いた既存ニュース推薦手法の性能確認実験について紹介します。なお、実験で用いたコードはこちらに公開しています。 背景当社の開発する法人向けサービスのAnewsには、ニュース推薦システムが実装されています(その概要は以前の記事で紹介したとおりです)。 このシステムは、製品開発の初期段階に構築されたものです。その際には顧客要求を素早く叶えることが優先されており、当時はニュース推薦システムの研究動向を十全にフォローアップできていませんでした。構築以降に実施されたシステム品質改善も、顧客から寄せられた問題の解消を目的としていたため、「そもそも技術的観点から現行システムにどの程度改善の余地があるのか?」という疑問に対して、これまで明確な回答を用意できていませんでした。 この問題を解消するため、
ストックマークの開発体制は、プロダクトの成長フェーズに合わせて、2021年夏に大きく進化しています。本エントリでは、何が課題でどう進化したのか?を紹介いたします。本エントリを読むことで、スタートアップの開発体制で発生する課題と、その解決方法の1つを理解できます。 サマリ開発チームのパフォーマンスが最大化できていなかった開発チームに自由と責任を委譲し、より自律的な行動を促進したスクラムを辞めて、カンバンを主軸とする開発へその結果、開発スピードが大きく向上し、より迅速にアウトカムを提供できるようにどんな課題が存在していたのか?大きく分けて、開発チームに関する2つの課題が存在していました。 課題1: リソースの偏りストックマークの以前の開発体制(〜2021年8月)では、Anewsの開発チームは大きく分けて、 以下の2つが存在していました。 情報収集機能を開発するチームコミュニケーション機能を開発
本エントリは2021年8月30日に開催されたNode学園 37時限目 オンラインにて、「Vue 2で大きなデータを扱うときの性能改善手法」というタイトルで発表させていただいた内容をテックブログ記事化したものです。発表当日の様子はYouTubeにアーカイブで公開されておりますので、そちらも合わせてご覧いただけましたら幸いです。 はじめにストックマークでは、法人ユーザー向けに「Astrategy」というウェブサービスを開発・提供しています。Astartegyの詳細や技術的な全体構成についてはAstrategyを支える技術: gRPC, Elasticsearch, Cloud TPU, Fargate… SaaS型AIサービスの内側の世界というエントリで紹介しておりますのでそちらを参照いただくとして、本エントリではAstrategyのフロントエンドを構築する上で重要である性能改善手法について紹
はじめにこんにちは、ストックマークでエンジニアをしている麻生です。ストックマークでは、「Anews」というウェブサービスを提供しています。この度、Anewsで新機能導入のために日次バッチの大規模なインフラ変更を行い、GPU並列処理環境を構築しましたのでご紹介します。 組織の自律化を支援するナレッジプラットフォーム「Anews」Anewsは国内外30,000メディアのニュースを毎日収集し、最先端の自然言語処理で個人や組織のミッションに即したニュースをレコメンドします。コメント機能で簡単にチームにアイデアを共有でき、社内の知見者から学ぶことでチームの情報感度が底上げされます。 エンタープライズを中心に、累計1500社以上のお客様にご利用いただいているサービスです。 英語記事をレコメンドする上での課題Anewsでは、記事への行動履歴からユーザーや組織の好みを学習し、記事をレコメンドしています。ユ
次のページ
このページを最初にブックマークしてみませんか?
『Stockmark Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く