Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

【Techの道も一歩から】 の検索結果:

Kubernetes上に負荷試験基盤を構築した話

R&D

こんにちは、研究開発部Architectグループ ML Platformチームの藤岡です。今回はKubernetes上に負荷試験基盤を構築したので、その取り組みについて紹介しようと思います。 目次 目次 背景 負荷試験基盤の要件 負荷試験ツールの選定 負荷試験基盤のシステム概要 シナリオファイルの管理方法 Kubernetes operator pattern の利用 GitHub Actionsの共通化 Slack通知用のAPIを用意 負荷試験の導入 負荷試験シナリオの詳細…

2024年 研究開発部 新卒開発研修 前編

こんにちは、研究開発部Architectグループの山本です。 昨年に引き続き、研究開発部の新卒社員向けに開発研修を行いました。 今年の研修では、私自身が昨年受けた経験をもとに感じた改善点や部内での技術的なアップデートを踏まえて実施しました。 昨年の記事を読んでいない方でも分かりやすい構成にしたので、ぜひご一読ください。 昨年の記事はこちら。 buildersbox.corp-sansan.com 本記事は前編と後編に分かれています。 主に前編ではローカル環境でPythonでサ…

【Techの道も一歩から】第49回「SlackアプリをPythonで作成する際の備忘録」

こんにちは。 技術本部研究開発部の高橋寛治です。 最近、簡単なデモレベルの Slack アプリを初めて作成しました。 いろいろな設定をしたり、リファレンスを見たりと、やることが多かったです。 次回に作る際に迷わないように、まとめておきたいと思います。

2023年 研究開発部 新卒技術研修 ~ 実践編 ~

こんにちは、研究開発部 Architectグループの藤岡です。 4/26(水)〜 4/28(金)で研究開発部内の技術研修を行ったので、その内容を公開します。

分析の再現性を担保する工夫

はじめに 技術本部 R&D の小松です。先日、一橋大学の手島健介教授より『経済セミナー』2023年2・3月号をご恵贈いただきました。 www.nippyo.co.jp 手島教授はその中で「米国経済学会データエディター制度の取り組み 再現性向上のためのreplicationチェック」を書かれています。私たちが『経済セミナー』にて「実証研究マネジメントのためのツールキット」の連載時に、手島教授を始めとした研究者の皆さんに草稿を確認いただいたのですが、このトピックはその際に出た議論…

GitHub ActionsでK8sのマニフェストを生成できるようにして開発リードタイムを改善する(後編)

研究開発部 Architectグループ ML PlatformチームのKAZYこと新井です。ちなみに名古屋にある中部支店に所属です。 開発リードタイムを改善するためにGitHub ActionsでKubernetesのマニフェスト生成できるようにした話をします。 前後編の2つに分けて公開しており、今回は後編として具体的な実装部分をお話します。 ▼前編 buildersbox.corp-sansan.com

【Techの道も一歩から】第48回「Inf1のSageMaker推論エンドポイントをカスタムコンテナで試す」

こんにちは。 技術本部研究開発部の高橋寛治です。 SageMakerのInf1推論エンドポイントで機械学習モデルを試したので紹介します。 部分的に紹介しているため、SageMakerやHuggingFaceを使ったことがないと、わかりづらいかと思いますがご了承ください。

【Techの道も一歩から】第47回「StreamlitのアプリをNginxで複数ホスティングする」

こんにちは。 技術本部研究開発部の高橋寛治です。 以前に紹介したStreamlitは、非常に便利でよく使っています。 buildersbox.corp-sansan.com Webアプリとしてインターフェイスが提供されるため、ちょっとしたデモを誰かに試してもらうのが容易で重宝しています。 ただ、いつも忘れてしまうのが、Nginxで複数のStreamlitアプリを提供する方法です。 今回は、デモとしてとりあえず動いたらいい状態になるような設定について紹介します。

gokart の環境変数周りでバグを発見したので、修正 PR を出したら爆速でリリースされた話

こんにちは。技術本部 R&D 研究員の青見です。 4月で社会に出て1年になりました。 この時期は花粉症が辛くて記憶がくしゃみにかき消されがちですが、入社式のやっていきを思い出して2年目も頑張っていきます。

【Techの道も一歩から】第46回「CookiecutterでPythonプロジェクトを高速に開始する」

こんにちは。 技術本部 研究開発部の高橋寛治です。 Python でプロジェクトを始める際に、ディレクトリ構成を考えたり、パッケージ方法を考えたり、もしくは何か参考になるものを見つけてコピペしたり、と意外と時間をかけていました。 これをコマンド一つで解決する Cookiecutter および社内での活用事例を紹介します。

【Techの道も一歩から】第45回「pyppeteerを使いヘッドレスブラウザでログインして情報を取得する」

こんにちは。 DSOC R&D グループの高橋寛治です。 ログイン後に動的にレンダリングされたページから必要な情報を抽出する、いわゆるスクレイピングを最近行いました。 スクレイピングを行うためにはヘッドレスブラウザ*1の操作が必要です。 pyppeteerを少し踏み込んで使ったため、その備忘録として取り組みを紹介します。 *1:GUIのないブラウザのこと。

【Techの道も一歩から】第44回「Prefectでパイプラインを構築してみる」

こんにちは。 DSOC R&D グループの高橋寛治です。 本記事は Sansan Advent Calendar 2021 - Adventar の初日の記事です*1。 Pythonによるパイプラインツールについて、Prefectというフレームワークが良さそうという話を小耳に挟みました。 第42回の記事と同様にMNISTを題材にパイプラインを作ってみます。 buildersbox.corp-sansan.com *1:他の年のアドベントカレンダーはこちらです。2020, 20…

【Techの道も一歩から】第43回「競技プログラミングやアルゴリズム練習サイト向けのPythonでの練習環境を整える」

こんにちは。 DSOC R&D グループの高橋寛治です。 お昼休みに、社内制度Geek Seek Workshops*1を活用し懇親会代補助を受けて、ご飯を食べアルゴリズム勉強会を行っています。 そこでは、競技プログラミングサイトやプログラミングサイトを利用し問題を解いています。 これらのサイトでは、標準入出力で検証が行われます。 オンラインのエディタも用意されているのですが、手元の環境でコードを書き手軽に検証したいですので、環境を整えます。 *1:社内制度についてはこちらも…

【Techの道も一歩から】第42回「Luigiとgokartを試用して比べて特徴を掴む」

こんにちは。 DSOC R&D グループの高橋寛治です。 最近は、ことあるごとにMLOpsと言っています。 そんなMLOpsの本丸とも言えるパイプラインツールの一つであるgokartを開発された西場さん(@m_nishiba)が部長ということで、使ってみないわけにはいかないgokartを使ってみました*1。 わからないときは、直接聞けます。 *1:強制されている訳ではありません笑

【Techの道も一歩から】第41回「SageMakerでStep Functionsを使った学習パイプラインを構築するために概念を理解する」

こんにちは。 DSOC R&D グループの高橋寛治です。 最近は、MLOpsへの興味が大きく、ツールの実利用や勉強会での発表を行っています。 機械学習プロジェクトにおいて、久々の実行や引き継いだコードの実行の際に、順序や実行環境を思い出したり準備したりしながら確認するのはすごく大変です。 コンテナ化された上でパイプラインがあると、実行順序も実行環境も覚えたり記録したりする必要がなくなります。 コンテナとパイプラインを組み合わせて利用するAmazon SageMakerを利用し…

【Techの道も一歩から】第40回「Texthero で日本語を解析する」

こんにちは。 DSOC R&D グループの高橋寛治です。 社内の研究開発部勉強会にて、Texthero が便利だという話を聞きかじりました。 Texthero は、テキストの前処理から変換、可視化までを pandas 上でうまく扱える Python パッケージです。 現状では、英語のみ対応しているパッケージです。 本記事では、日本語を解析できるように追加でコードを書いて使ってみたので紹介します。

人事異動のデータ化の取り組み 〜 CamelotによるPDFの表データ抽出

DSOC サービス開発部 GEES/JES/COEグループの松本です。最近はコロナの影響で巣ごもりをしており、家の庭で芝生を育てています。 色々と手抜きをしてしまったがために生え揃いがまばらで、かわいい反面、芝生の上を裸足で歩けるようになるにはまだまだ時間がかかりそうです。気長に待ってみようと思います。今日はSansanの機能の一つである、人事異動ニュースを支えるデータ化の取り組みについてご紹介したいと思います。

【Techの道も一歩から】第39回「Google App Engine で Python による WebAPI を動かす」

ヘッダ画像 こんにちは。 DSOC R&D グループの高橋寛治です。 最近は Google App Engine(App Engine) を用いて WebAPI としてアルゴリズムを提供できるよう開発中です。 App Engine を触ったのは初めてだったため、備忘録として App Engine の概要や環境構築からデプロイまで書きたいと思います。 App Engine の説明や設定の考え方が主となります。

【Techの道も一歩から】第38回「Streamlit で固有表現抽出の結果を表示する」

こんにちは。 DSOC R&D グループの高橋寛治です。 最近、部内で Streamlit による可視化を見かけるようになってきました。 Streamlit は、インタラクティブなデータの可視化に特化した Web アプリケーションを少ないコードで素早く提供することができる Python ライブラリです。 私自身は Web アプリケーションとしてデモ化する際に手慣れた Flask で書くことが多いです。 慣れているとはいえ時間を要するため、同じ結果を爆速で実現できるなら使わない…

【Techの道も一歩から】第37回「データの集計に Luigi を使ってみる」

こんにちは。 DSOC R&D グループの高橋寛治です。 あるプロジェクトにおいて、 「DB からデータを取得し整形した結果を出力する」という一連の処理をパイプラインパッケージである Luigi を用いて行いました。 ワークフローの監視や記述が簡単に記述できて良かった*1と感じたため、ここで流れを紹介したいと思います。 *1:Makefile やシェルスクリプトをよく書いてしまいますが、他者への布教だと Luigi はいいように感じました。

第4回 MLOps 勉強会で発表しました

こんにちは。 DSOC R&D グループの高橋寛治です。 2021年2月18日に開催された 第4回 MLOps 勉強会 で登壇の機会をいただき、MLOps に関する取り組みについて発表いたしました。 勉強会の概要と発表内容について簡単に紹介いたします。

【Techの道も一歩から】第36回「FastAPI を使い始める」

こんにちは。 DSOC R&D グループの高橋寛治です。 私は Python で WebAPI を開発する際には、Flask をよく利用しています。 最近は、FastAPI がいいらしいという話を同僚から聞くようになりました。 少し公式ドキュメントを覗いてみると、Flask をより便利に高機能にしたものに感じました。 これは使わねばと思い、開発環境の構築からテストまでやってみたため、ここで紹介します。 (しっかり理解したい場合は、充実した公式のチュートリアルがおすすめです。ド…

【Techの道も一歩から】第35回「ルールベース手法の運用時のエラーを的確に把握する」

こんにちは。 DSOC R&D グループの高橋寛治です。 アルゴリズムを開発する際に、課題やデータ量に応じた手法の一つとして、ルールベースを採用することがあります。 ルールベースによるアルゴリズムを運用していると、想定外の事象による例外が発生するものです。 これを的確に把握することで、改善へとつなげることができます。 動作するコードのエラーを的確に把握するということは、ソフトウェア開発では当たり前のことだとは思います。 しかしながら、研究開発という観点だと考慮が漏れがちな点で…

【Techの道も一歩から】第34回「固有表現抽出のためのデータを作る」

こんにちは。 DSOC 研究開発部の高橋寛治です。 本記事は Sansan Advent Calendar 2020 - Adventar の初日の記事です。 クリスマスにアノテーションされたデータがプレゼントされると幸せですよね。 プレゼントを渡せるように、タグ設計やアノテーションについて、どのような考えでどうデータを作るのかを具体的に紹介します。 ただし、Advent Calendar 1日目ということでゆる~く紹介したいと思います。

【Techの道も一歩から】第33回「文献紹介:Beyond Accuracy: Behavioral Testing of NLP Models with CheckList」

こんにちは。 DSOC 研究開発部の高橋寛治です。 社内の論文読み会で紹介した評価に関する文献である「Beyond Accuracy: Behavioral Testing of NLP Models with CheckList」について簡単に所感を交えて*1紹介したいと思います。 なお、本文内での図表は基本的に文献から引用したものとなります。 *1:所感は、「所感:」から始まります。

【Zoom or Die】第2回 Hydra+Axでハイパーパラメータサーチ

こんにちは,DSOC 研究開発部の内田です. 最近すっかり秋めいてきて,短パン小僧 の私としてはちょっと寒いくらいです. 涼しくなってきたので1人で寺巡りをすることが多いのですが.そのせいで夏本番より日焼けして短パン小僧感が増す始末です. 先日同研究員の高橋が寄稿した記事でもMLOpsに入門していましたが,最近社内になんとなくMLOpsの風を感じます. そんなわけで今回はHydra+Axを使ってハイパーパラメータサーチをしてみたいと思います. buildersbox.corp…

【Techの道も一歩から】第32回「MLOps に入門」

こんにちは。DSOC 研究開発部の 高橋寛治です。 突然ですが、みなさん MLOps を実践されていますか。私は雰囲気しか知りません。 今回はそんな MLOps について学んだ概念と一つのツールである DVC について紹介します。 また、今実際に使っている中で感じている点についても少し紹介できればと思います。

新卒の私が研究開発プロジェクトの中で感じたこと

こんにちは。Sansan DSOC 研究開発部の保坂です。今年の春に新卒で Sansan に入社しました。最近、個包装の焼きあごを大量購入したのですが、おやつとしてもおつまみとしても食べれますし、カルシウムもたっぷり含まれているので在宅勤務のお供*1におすすめです。さて、私は入社してから、実際に研究開発プロジェクトに携わってきた中で、学生時代とは異なる視点で解くべき問題の設定や機械学習システムの設計をしていく必要があると感じました。以下の記事で紹介されている新卒研修でこのよう…

【Techの道も一歩から】第31回「クラウド上に自前のVPNを構築し、ラズパイを VPN ルータ化」

こんにちは。DSOC 研究開発部の 高橋寛治です。 リモートワークが盛んである今、 VPN 接続を利用している人が多いのではないでしょうか。 私もそんな一人ですが、そういえば VPN サーバを立てたことがなかったので、挑戦してみました、というのは表向きの理由で、IPv6 による経路の VPN 接続を行いたいということが真の目的です。 自宅回線は IPv4(PPPoE)・IPv6(IPoE) となっており、IPv4 インターネット利用時は PPPoE の輻輳だと考えられますが、…

【Techの道も一歩から】第30回「久々の Windows」

こんにちは。DSOC 研究開発部の 高橋寛治です。 今回は業務に利用している手元の環境を Mac から Windows に変更したという軽い話です。 交換した理由や Mac から Windows に乗り換えた時にセットアップする点について記します。 交換した理由 マシンスペックに不足を感じたことと WSL の進化が理由となります。 SSH で基本的に作業するため、軽くて持ち運びしやすい SSH クライアントと思って Macbook を利用していました。 しかしながら、昨今のリ…

© Sansan, Inc.