Sansan Tech Blog

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

Python

Vertex AIを利用してVision Language Modelをリリースするまでの意思決定

はじめに こんにちは、技術本部 研究開発部Automationグループの石井です。 本記事では、内製のVision Language Model “Viola”をGoogle CloudのVertex AIにデプロイするまでに行った意思決定を振り返ります。 比較的大きなVision Language Modelを本番環境に…

LVLMをローカル運用する際に、精度を保ちつつレイテンシをどこまで改善できるか(vLLM, Flash Attention, 量子化)

はじめに Sansan 研究開発部の齋藤慎一朗です。 次のブログでは、本格的なLVLMの検証の前に、運用に必要な環境をどう見積もるかについて、メモリの観点で紹介しました。 buildersbox.corp-sansan.com 今回は、Fine-Tuningを行ったLVLMをローカル運用する際の…

Flash Attention 2 + 量子化でVLLMはどこまで軽くなる?ローカル運用に向けた画像枚数とメモリ使用量の検証

はじめに Sansan 技術本部 研究開発部の齋藤 慎一朗です。 最近、VLLM(Vision Large Language Model)やLLM(Large Language Model)をプロダクト応用できるかの検証、そのリリース関連の仕事をすることが増えています。 VLLMやLLMをローカル運用(ベンダー…

TorchServe が Limited Maintenance になったので移行するサービングライブラリを検討した

はじめに こんにちは、研究開発部の石井です。 いきなり本題ですが、TorchServe をご存知でしょうか。 github.com PyTorch 公式のリポジトリに所属する、PyTorch のモデルを本番環境でサービングするためのライブラリです。 この TorchServe ですが 2025 年 …

Sansan Global Development Center’s Digi Team Surely Packs a Punch

More than a year has passed since Team Pacman was established here in Sansan Global Development Center (SGDC) as our very own Digitization Team. The journey is still long for the team but we have come so far.I am Chris, one of the Engineer…

Slackに投稿された通達をNotionDBでToDo化する

本記事はSansan Advent Calendar 2024の7日目の記事です。 こんにちは。 技術本部研究開発部の高橋寛治です。 Slackに投稿された読了や対応を求められる通達の対応漏れを防ぐために、自動でNotion上にToDoを追加する仕組みを作りました。 その成り立ちや機能…

業務中に出会ったOSSのバグ修正を行いコントリビュートした話

こんにちは。9月にDigitization部データ化グループに入社した山内です。 PythonのORMライブラリであるSQLAlchemyのバグを業務中に見つけました。 今回はそのバグを修正してOSSにコントリビュートした過程を紹介します。

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

こんにちは、研究開発部Architectグループの山本です。 昨年に引き続き、研究開発部の新卒社員向けに開発研修を行いました。 今年の研修では、私自身が昨年受けた経験をもとに感じた改善点や部内での技術的なアップデートを踏まえて実施しました。 昨年の記…

Vol.04 LLMOps に取り組み始めた話

技術本部Strategic Products Engineering Unit Contract One Devグループの伊藤です。契約データベース「Contract One」の開発に携わっています。 Contract Oneでは、GPTを活用した機能をいくつか提供しています。 今回は、Contract OneのGPTを活用した機能…

チーム開発合宿 2024 in 徳島県神山町(技術編)

こんにちは、研究開発部 Architectグループの辻田です。 この記事はチームメンバー合同で作成した記事です。 先日、神山ラボへ開発合宿に行ってきました。この記事では合宿中に取り組んだ内容について紹介します。合宿の目的や、全体の様子はチーム開発合宿 …

Label Studio のカスタム UI を作ってみた

こんにちは、研究開発部 Automation グループで研究員をしている李です。この 1 年は、修論に追い込まれて研究室の後輩と GPU サーバーを奪い合ったり、そこそこ通りづらい国際会議に出たり、新卒入社して山登りに行ったり、Bill One の自動化率の改善をやっ…

2023年 研究開発部 新卒技術研修 ~ テストコード編 ~

こんにちは、研究開発部 Data Analysisグループの笛木です。 4/26(水)〜 4/28(金)で研究開発部内の技術研修を行いました。 こちらのブログの続きでテストコードについての研修資料を一部公開します。研修では新卒2年目の私が1年間で部内のコードなどから…

spaCyを用いて日本語の固有表現抽出(NER)モデルを学習する

はじめに 最近、固有表現抽出(Named Entity Recognition: NER)の学習をspaCyを用いて行う機会があったため、そのやり方について簡単にまとめたいと思います。

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

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

Slackアプリで勤怠を申請できるようにしました

こんにちは、コーポレートシステム部 Corporate ITグループのあおしょーこと青松です。 普段はSREチームのDevOpsエンジニアとして社内の業務改善を担当しています。 ありがたいことに弊社では急成長とともに従業員も増えつつあるのですが、それと同時に社内…

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

はじめに 技術本部 R&D の小松です。先日、一橋大学の手島健介教授より『経済セミナー』2023年2・3月号をご恵贈いただきました。 www.nippyo.co.jp 手島教授はその中で「米国経済学会データエディター制度の取り組み 再現性向上のためのreplicationチェック…

BERTopic で文書のクラスタリングを試す

こんにちは。研究開発部の青見 (@nersonu) です。 そろそろ花粉症の季節ですね。週1でしか出社しない私は、なんとか引きこもって数ヶ月しのぎたいところです。 さて、今回は BERTopic という OSS について、さっくりとした手法の解説もしつつ、簡単に文書の…

【R&D DevOps通信】Poetry1.2でプライベートパッケージを扱う(GitHub, AWS CodeArtifact, GCP Artifact Registry)

研究開発部 Architectグループ ML PlatformチームのKAZYこと新井です。ちなみに名古屋にある中部支店に所属です。 今回はPoetryでプライベートパッケージ(ライブラリ)を扱うテーマの第2弾です。 はじめに 2022/08/31に1.2.0がリリースされました。*1 Release…

FastAPIの標準機能+αで作るアクセスコントロール

初めまして。技術本部Digitization部データ化グループでエンジニアをしている池田力です。 FastAPIでアクセスコントロールの仕組みを実装しようとしたところ、インターネット上に情報が少なく、ちょうど要件に合ったライブラリもなかったため、0から設計する…

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

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

【R&D DevOps通信】Poetryでプライベートパッケージを扱う(GitHub, AWS CodeArtifact, GCP Artifact Registry)

研究開発部 Architectグループ ML PlatformチームのKAZYこと新井です。ちなみに名古屋にある中部支店に所属です。 今回はPoetryでプライベートパッケージ(ライブラリ)を扱うテーマです。 追記(2022/11) Poetry 1.2で新たに追加された機能をプライベートパッ…

hypothesis+panderaで始める、データフレームに対するProperty Based Testing

技術本部 R&D研究員の前嶋です。梅雨の季節ですが、少しでも快適に過ごせるようにOnのCloud 5 wpを購入しました。水に強くて軽快な履き心地で最高ですね。(追記:この記事の公開作業をしている間に梅雨が終わってしまいました) 今回は、データフレームのテス…

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

こんにちは。 技術本部研究開発部の高橋寛治です。 以前に紹介したStreamlitは、非常に便利でよく使っています。 buildersbox.corp-sansan.com Webアプリとしてインターフェイスが提供されるため、ちょっとしたデモを誰かに試してもらうのが容易で重宝してい…

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

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

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

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

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

こんにちは。 DSOC R&D グループの高橋寛治です。 ログイン後に動的にレンダリングされたページから必要な情報を抽出する、いわゆるスクレイピングを最近行いました。 スクレイピングを行うためにはヘッドレスブラウザ*1の操作が必要です。 pyppeteerを少し…

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

こんにちは。 DSOC R&D グループの高橋寛治です。 お昼休みに、ご飯を食べながらアルゴリズム勉強会を行っています。 そこでは、競技プログラミングサイトやプログラミングサイトを利用し問題を解いています。 これらのサイトでは、標準入出力で検証が行われ…

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

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

自分のTweetを使ってSentencepieceとMeCabの分かち書きの比較を行う

3行で はじめに Sentencepieceとは subwordとは Sentencepieceでの取り組み SentencepieceとMeCabの比較 利用するデータセット 利用したコード 適当なTweetを分かち書きしてみる Tweet全部を分かち書きし、頻度順に並べてみる まとめ 注釈 3行で Sentencepie…

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

DSOC サービス開発部 GEES/JES/COEグループの松本です。最近はコロナの影響で巣ごもりをしており、家の庭で芝生を育てています。 色々と手抜きをしてしまったがために生え揃いがまばらで、かわいい反面、芝生の上を裸足で歩けるようになるにはまだまだ時間が…

© Sansan, Inc.