ブックマーク / tech.gunosy.io (34)

  • LLMのプロンプトをCI/CDで評価する。promptfooを使って - Gunosy Tech Blog

    こんにちは。 LLM事業部のUTです。 概要 promptfoo の紹介 起動 CI での評価 GitHub Action まとめ 概要 OpenAI による ChatGPT 登場の衝撃から1年ほど経ちましたが、 LLM を活用する企業はものすごく増えました。 OpenAI だけでなく、大手クラウドや Hugging Face などを通して各企業も提供しています。 遊びで使う分にはどの LLM を使うかは適当で良いかと思いますが、プロダクトとして提供する場合利用を想定しているシーンに対して、最適なモデルを選びたいと思うのは必然でしょう。 また LLM を利用してレスポンスを受けるに当たり、最も重要なのがプロンプトです。 様々な研究結果にもある通り、プロンプトの書き方一つで出力結果が大きく変わります。 欲しいアウトプットを出すプロンプトを探すには、プロンプトを複数作り比較する必要があります。

    LLMのプロンプトをCI/CDで評価する。promptfooを使って - Gunosy Tech Blog
    yug1224
    yug1224 2024/01/17
  • Snyk を導入してコンテナセキュリティ対策の運用を回している話 - Gunosy Tech Blog

    こんにちは、SRE チーム マネージャーの TksYamaguchi です。 こちらの記事はGunosy Advent Calendar 2023の 21 日目の記事です。 前回の記事は m-hamashita さんの 広告スコアリングサーバのエラーを大幅に減らした話でした。 概要 外部発表資料 全体的な導入の流れ コンテナセキュリティ対応ツールの選定 導入フェーズ 優先順位付け(トリアージ) 導入開始前の合意が大事 Snyk の Organizaton 設定 運用フェーズ まとめ 概要 SRE チームでは、去年からクラウドセキュリティとコンテナセキュリティの開発チームへの導入に取り組んできました。 その過程を AWS Summit Tokyo 2023 や JAWS-UG、SRE Lounge で発表してきました。 現在の Gunosy のステータスは DevSecOps の導入が完了し

    Snyk を導入してコンテナセキュリティ対策の運用を回している話 - Gunosy Tech Blog
    yug1224
    yug1224 2023/12/25
  • インシデント発生時における初動対応の自動化 - Gunosy Tech Blog

    これまでの課題感 どのように実現したか Slackワークフローとは Google App Scriptとは 実装内容 Slackワークフローの実装 トリガーの設定 ステップの追加 Google App Scriptの実装 Slack Appの設定 Slack Appの作成 OAuth Tokensの設定 Google App Scriptのスクリプトプロパティの設定 今後の課題 GASのバージョン管理 レガシーワークフローからの移行 まとめ こんにちは、テクノロジー部 プロダクト開発部 SRE の koizumi です。 この記事は Gunosy Advent Calendar 2023 の 8 日目の記事です。昨日の記事は 石川 さんの「オンライン実験を速く試すための基盤構築」でした。 記事では、インシデントフローの改善として、インシデント発生時における初動対応の自動化を行なった実例

    インシデント発生時における初動対応の自動化 - Gunosy Tech Blog
    yug1224
    yug1224 2023/12/09
  • 企業テックブログのレビューを GitHub 上でおこなっている話 - Gunosy Tech Blog

    はじめに 今までのブログレビュー 現在のブログレビュー ブログの同期 ブログの取得 リポジトリと下書きの同期 textlint の導入 導入した結果 まとめ はじめに こんにちは m-hamashita です。 この記事は Gunosy Advent Calendar 2023 の 4 日目の記事です。 3 日目の記事は TksYamaguchi さんのいろんなやり方の読書会をやってみたら当日音読その場でまとめ方式が最高だった話でした。 今回はテックブログのレビューを GitHub 上でするようになって 1 年ほど経ったので、その経緯とリポジトリの紹介をしたいと思います。 個人的にかなり運用が楽になったので、ぜひ見てもらえると嬉しいです。 今までのブログレビュー 今まではブログ用の Slack チャンネルで有志にレビューをお願いし、スレッドでレビューをおこなっていました。 Slack での

    企業テックブログのレビューを GitHub 上でおこなっている話 - Gunosy Tech Blog
    yug1224
    yug1224 2023/12/05
  • いろんなやり方の読書会をやってみたら当日音読その場でまとめ方式が最高だった話 - Gunosy Tech Blog

    こんにちは、SRE チーム マネージャーの Yamaguchi(@yamaguchi_tk ) です。 こちらの記事はGunosy Advent Calendar 2023の3日目の記事です。 前回の記事は森田さんの LLM 論文の探し方でした。 概要 SRE チームは、シニアエンジニアとジュニアエンジニアで構成されているチームで、チーム内の技術的な知識の偏りの解消や、知識のタコツボ化の解消を目的として読書会をしてきました。 その過程でいろいろな読書会のパターンを行ってきましたので、その結果を共有します。 概要 読書会開始前の SRE チームの課題感 読書会 のやり方の整理と評価の観点 やり方 評価の観点 当日音読・Slack に投下する方式 実際のまとめ 方式詳細 評価 メリット デメリット 事前に読んで Miro*1 に付箋・当日議論する方式 実際のまとめ 方式詳細 評価 メリット デ

    いろんなやり方の読書会をやってみたら当日音読その場でまとめ方式が最高だった話 - Gunosy Tech Blog
    yug1224
    yug1224 2023/12/03
  • 広告システムにおける機械学習モデルの推論差分検知について - Gunosy Tech Blog

    こんにちは。データサイエンス部の石川です。 弊社では広告配信の最適化のために CTR・CVR*1 を推定する機械学習モデルを開発していて、定期的な学習とモデルの更新を行っています。 このようなシステムにおいて、学習済みモデルが推論システムで問題なく動作することを保証するために、デプロイされるモデルの挙動を検証する仕組みが必要です。 特に、学習時と推論時で同一の広告リクエストに対して同じ推論値を出力するかを確認する仕組みを「差分検知」と呼んでいます。 この記事では、弊社の広告システムにおける機械学習モデルの差分検知について紹介します。 背景 課題 解決策 PyO3 の実装 まとめ 背景 弊社の CTR・CVR を推定する機械学習システムでは、ワークフローエンジンが定期的にモデルの学習を実行し、その後学習済みモデルを S3 にアップロードします。 広告スコアリングサーバは S3 上のモデル変更

    広告システムにおける機械学習モデルの推論差分検知について - Gunosy Tech Blog
    yug1224
    yug1224 2023/08/25
  • クラウドインフラにおける脆弱性およびメンテナンス情報等の管理・自動化について - Gunosy Tech Blog

    はじめに これまでのインフラ課題の管理方法およびその課題点 それぞれのチームの要件 現在の管理方法 AWS Health Eventを用いたJIRAチケットの自動起票 Slack通知の自動化 JIRAチケットの関連付け JIRAチケットでの期限管理 現在の運用フロー SREの作業 開発チームの作業 移行してみて感じたメリット 今後の課題 さいごに はじめに こんにちは。テクノロジー部 プロダクト開発部 SREのkoizumiです。 最近、すっかり暑くなってしまいましたね。 さて、今回はAWS Security HubやSnykで検知された脆弱性の課題項目や、AWS Healthで通知されるメンテナンス情報の管理方法ならびにその自動化について取り上げます。 弊社では、週一でプロダクトチームとのふりかえり会というものを開催しており、SLO達成状況やアラート発生状況、セキュリティ指摘項目

    クラウドインフラにおける脆弱性およびメンテナンス情報等の管理・自動化について - Gunosy Tech Blog
    yug1224
    yug1224 2023/07/29
  • Gunosy に転職して 1 年経ったので振り返っていく - Gunosy Tech Blog

    はじめに こんにちは、広告技術部の fujishiro です。 ゼルダの伝説 ティアーズ オブ ザ キングダムが発売されましたね。私は乗り遅れてしまっていて、そもそもゼルダの伝説をやったことがないのですが、今作は盛り上がりがすごいので気になっています。 さて先日、私が Gunosy に転職して 1 年が経ったので、転職してからの 1 年間の振り返りとしてこれまで取り組んできたことをざっくりとご紹介できればと思います。 広告技術部での初めの 1 年間はこんな感じでしたよということをふんわり知っていただければ幸いです。 はじめに Gunosy に転職した理由 Gunosy での取り組み 5 月 - 6 月 Gunosy Ads 管理画面の ReactTypeScript 化 6 月 - 9 月 広告フィードバック機能の開発 管理画面の GitOps 化 管理画面のフロント画面 React

    Gunosy に転職して 1 年経ったので振り返っていく - Gunosy Tech Blog
    yug1224
    yug1224 2023/06/07
  • チームが有機的に動くための取り組み - Gunosy Tech Blog

    概要 こんにちは。 ホグワーツレガシーで魔法を使わず白菜ばかり使っている、広告技術部のUTです。 今回はチームが有機的に動くために実施している取り組みを紹介したいと思います。 概要 有機的とは なにをやっているか やることの明確化と振り返り スクラム それぞれが責任を持つ 他チームとのコミュニケーション まとめ 有機的とは 「機械的組織」とは、職務権限が明確で、上層部に情報が集中し、トップの命令と指示によって統制される中央集権型組織だ。 それに対して「有機的組織」とは、職務権限が柔軟で、情報は組織内のあらゆる場所に分散し、水平的なネットワーク型の伝達構造をもつ分散型組織を指す。 by Salesforce https://www.salesforce.com/jp/blog/2012/12/vol5-be-social-empowerment.html 労働力の物量で戦うのではなく、片手で

    チームが有機的に動くための取り組み - Gunosy Tech Blog
    yug1224
    yug1224 2023/04/20
  • 障害発生時の社内コミュニケーションをスムーズにするために - Gunosy Tech Blog

    こんにちは。koid です。 この記事は Gunosy Advent Calendar 2022 25日目の記事です。 昨日の記事は ryoaita さんの PyO3 による RustPython バインディング でした。 早いもので、今年の Advent Calendar も最終日となりました。 今年の Advent Calendar でも、リモートワーク(以下リモート)における業務の進め方に関するエントリがいくつか書かれていました。元々我々はリモートではなく、オフィスに集まって働いていたのですが、コロナ禍以降、リモートにシフトしました。 今回は、障害発生時における、プロダクトマネージャー・セールス・メディアリレーション・広報などをはじめとした社内各所とのコミュニケーションがリモートになったらうまくいかなくなった話*1、そこでプロセスを見直した話について書きたいと思います。 オフラ

    障害発生時の社内コミュニケーションをスムーズにするために - Gunosy Tech Blog
    yug1224
    yug1224 2022/12/27
  • Gunosy コンピテンシーマトリクスを公開しました - Gunosy Tech Blog

    かとうです。盛り上がったワールドカップも今夜が決勝ですね。 こちらの記事は Gunosy Advent Calendar 2022 の18日目の記事です。 昨日の記事はGunosy に入社して半年経ちましたでした。 転職時はどうしても入ってみないとわからない部分が多く、楽しみな反面不安もあるというのが常ですが、少しでもGunosyに入ったときのイメージが伝わりますと幸いです。ということでまだ読んでいない方はぜひ昨日の記事も見てみてください。 はじめに 今年のGunosy Advent Calendarの1日目の記事にて、Gunosy エンジニア行動指針をつくりましたという記事を書きまして、その中で もともとパブリックに公開する想定で作っていましたが、まだ運用開始したばかりなのと、どこに掲載するか準備が整っておらず間に合いませんでした、ごめんなさい。 と記載していた通り、最終的には運用開始後

    Gunosy コンピテンシーマトリクスを公開しました - Gunosy Tech Blog
    yug1224
    yug1224 2022/12/18
  • 突撃!隣の自宅作業環境 Gunosy 2022 - Gunosy Tech Blog

    はじめに こんにちは、 Gunosy Tech Lab 所属の m-hamashita です。僕はほとんど全てのエンジニアブログのレビューに参加しているのですが、アドベントカレンダーの時期は大変ですね。 この記事は Gunosy Advent Calendar 2022 の 12 日目の記事です。 11 日目の記事は楠さんの dbt snapshot から学ぶ Slowly Changing Dimension でした。 Slowly Changing Dimension についてわかりやすく書かれている記事でとても面白かったです。 コロナ渦になって、そろそろ 3 年になろうとしており、各社では出社しているところも増えてきていると聞いていますが、皆さんの会社はどうでしょうか? 弊社はまだまだリモートワークが主流で、自分も気が向いたときだけ出社することが多いです。 今回は弊社で恒例になりつつ

    突撃!隣の自宅作業環境 Gunosy 2022 - Gunosy Tech Blog
    yug1224
    yug1224 2022/12/12
  • RailsのフロントをReactへリファクタしたとき、スキーマをOpenAPIベースの自動生成にした話 - Gunosy Tech Blog

    広告技術部のUT@mocyuto です。 この記事は Gunosy Advent Calendar 2022の10日目の記事です。 前回の記事はkoizumiさんの Snyk IaC + reviewdog + aquaではじめるDevSecOps - Gunosy Tech Blog でした。 今回の記事では、OpenAPIRailsTypeScriptのスキーマを共有する方法に関して紹介します。 概要 弊社の管理画面では長くRailsを使っており、最初のPRは2013年の10月でした。 長らくの運用で複雑になったRailsのerbだった部分をReactを使って書き換えるというプロジェクトが始まりました。 すでにいくつかの新規ページはReactで作成されていましたが、大きなページを置き換えるというのは心理的ハードルと時間的コストから進められずにいました。 しかし、メンバーが入れ替わる

    RailsのフロントをReactへリファクタしたとき、スキーマをOpenAPIベースの自動生成にした話 - Gunosy Tech Blog
    yug1224
    yug1224 2022/12/11
  • リモートモブプログラミング開発の実践 - Gunosy Tech Blog

    Gunosy Tech Lab の石川です。 この記事は Gunosy Advent Calendar 2022 の 8 日目の記事です。昨日の記事は今村さんの『EventBridgeとECSでお手軽バッチ処理基盤 (後編)』でした。 最近リモート環境でモブプログラミング開発をチームで行っているので、今回はそのベストプラクティスの一例に触れながら、どのように行い、どのような影響があったかを書きたいと思います。 概要 モブプログラミングとは リモートモブプログラミングのベストプラクティスの一例 チームでの実践 独自のルールや実践例 mob コマンド 課題 まとめ 概要 2020 年始めの COVID-19 の流行拡大以降、在宅勤務の導入が多くの企業に広まりました。Gunosy でも同年の 2 月頃から在宅勤務が導入され、現在でもスタンダードな働き方として継続しています。 そのような状況下で、

    リモートモブプログラミング開発の実践 - Gunosy Tech Blog
    yug1224
    yug1224 2022/12/08
  • A/B テストの管理基盤刷新とレポートの自動化(自動化編) - Gunosy Tech Blog

    はじめに 既存の A/B テスト集計での課題 解決策 A/B テストの ID と統計量が格納された集計テーブルを作成 Confluence 上に A/B テストレポートが作成されるようにした A/B テストレポート作成の流れ まとめ はじめに こんにちは、 Gunosy Tech Lab 所属の m-hamashita です。最近はほぼ毎日モブプロで開発をおこなっており、刺激的で楽しいです。 今回は「A/B テストの管理基盤刷新とレポートの自動化」をおこなった話について紹介します。 基盤編と自動化編の 2 部構成で、記事では A/B テストのレポート自動化について紹介したいと思います。 A/B テストの管理基盤を刷新した話については @hyamamoto さんが紹介した記事をご覧いただけると幸いです。 tech.gunosy.io 既存の A/B テスト集計での課題 既存の A/B テス

    A/B テストの管理基盤刷新とレポートの自動化(自動化編) - Gunosy Tech Blog
    yug1224
    yug1224 2022/11/02
  • A/B テストの管理基盤刷新とレポートの自動化(基盤編) - Gunosy Tech Blog

    はじめに 既存の A/B テスト管理基盤の課題 新規 A/B テスト管理基盤 方針 構成概要 Go 言語による A/B テスト管理基盤の作成 validation 機能の整備 A/B テストの定義コードの自動生成 private package として A/B テストの定義コードを公開 A/B テストの設定の履歴管理 まとめ はじめに こんにちは。Gunosy Tech Lab 所属の hyamamoto です。 今回は広告システムにおいて「A/B テストの管理基盤刷新とレポートの自動化」を行った話についてご紹介します。 基盤編と集計編の 2 部構成で、記事では A/B テストの管理基盤の刷新についてご紹介したいと思います。 元々、今回のプロジェクトの最終的なモチベーションは A/B テストのレポートの自動化にあり、A/B テストの管理基盤刷新はスコープとしていませんでした。 しかしなが

    A/B テストの管理基盤刷新とレポートの自動化(基盤編) - Gunosy Tech Blog
    yug1224
    yug1224 2022/11/02
  • マイクロサービスにおけるAZ間通信のコスト大幅削減した話 with Istio Locality Load Balancing - Gunosy Tech Blog

    広告技術部のUT@mocyutoです。 大幅コスト削減シリーズ第二弾です。 前回はこちら tech.gunosy.io 今回はアベイラビリティゾーン(AZ)間通信のコストをIstioのlocality load balancingを使って削減した話になります。 概要 Istioとは どのようにコスト削減したか まとめ 概要 みなさんはマイクロサービスを導入しているでしょうか? 最近はモジュラモノリスが流行り始めている雰囲気を感じてきていますが、弊社の広告配信サーバは以下のようなマイクロサービス化された設計(と言っても2つのサービスしかないのですが)になっています。 構成図 一般的にクラウドプロバイダ上で構築している場合、耐障害性を高めるために複数AZ、複数リージョンに分散させることが基になるかと思います。 弊社では、単一リージョン複数AZに分散させて稼働しています。 リージョン間の通信に

    マイクロサービスにおけるAZ間通信のコスト大幅削減した話 with Istio Locality Load Balancing - Gunosy Tech Blog
    yug1224
    yug1224 2022/08/24
  • 管理画面にGitOpsを導入しました 〜GitOpsとは編〜 - Gunosy Tech Blog

    はじめに 管理画面の課題 GitOpsとは Push型 Pull型 なぜPush型よりPull型なのか Push型のデメリット Pull型のメリット GitOpsにおけるPull型の構成 GitOpsで課題は解決されるのか まとめ 参考リンク はじめに こんにちは。広告技術部のjohnmanjiroです。普段は広告配信のAPIや管理画面を作っています。 広告技術部では、広告配信に関わる様々なアプリケーションを管理しており、その多くがEKSのKubernetesクラスタ上で動作しています。 広告の入稿や審査を行う管理画面もそのうちの一つです。フレームワークにはRailsを使っています。 管理画面をEKSに移行する際の記事はいくつかブログにも上がっているので、興味があればぜひご覧ください。 tech.gunosy.io tech.gunosy.io 今回、その管理画面のCDにGitOpsを導

    管理画面にGitOpsを導入しました 〜GitOpsとは編〜 - Gunosy Tech Blog
    yug1224
    yug1224 2022/08/19
  • M1 MacのDockerでChromiumを使ったFeature Specを動かす - Gunosy Tech Blog

    はじめに 元々の構成 Google Chromeが異常終了する QEMUでSegmentation Fault arm64向けのGoogle Chromeはない 別コンテナでChromiumを起動する Chromiumを動かすDockerイメージにseleniarmを使う CapybaraでリモートドライバとしてChromiumを指定 Capybaraのリモートドライバ設定 ホストとポートの固定 ファイルダウンロードテストのためにvolumeを共有 まとめ 参考記事 はじめに こんにちは。広告技術部のjohnmanjiroです。普段は広告配信のAPIや管理画面を作っています。ピーナッツくんのライブに現地参戦したのがここ最近で一番楽しかったです。 Gunosyでは、社員が使っているPCが古くなってきたタイミングで新しいものへ置き換えるPCリプレースを行っています。今回私もリプレースの対象にな

    M1 MacのDockerでChromiumを使ったFeature Specを動かす - Gunosy Tech Blog
    yug1224
    yug1224 2022/07/15
  • ゼロダウンタイムでPodをロールアウトする - Gunosy Tech Blog

    こんにちは、広告技術部のyamaYuです。 最近は『SPY×FAMILY』にハマっています。 めちゃめちゃ面白いです。 それとヨルさんの声優さんが好きです。 さて、先日 GunosyAds の管理画面をEKSに移行したのですが、Podのロールアウト時に5xxエラーが発生するという問題に当たりました。 その際にダウンタイムなしにPodをロールアウトするための設定について調べたので、この記事ではそのことについてまとめようと思います。 前提 問題: Podのロールアウト時に5xxエラーが発生する 解決策 (1) Pod削除時の5xx (2) Pod作成時の5xx まとめ 前提 まず前提の共有のために今回扱うシステムであるGunosyAdsの管理画面の構成を簡単に説明します。 このシステムはAWS EKS上のKubernetesクラスターに展開されたサービスの一つです。 AWS Load Bala

    ゼロダウンタイムでPodをロールアウトする - Gunosy Tech Blog
    yug1224
    yug1224 2022/05/31