タグ

ブックマーク / future-architect.github.io (22)

  • MLflow上でOptunaによって生成される大量のrunを整理する | フューチャー技術ブログ

    はじめにこんにちは、SAIG/MLOpsチームでアルバイトをしている齋藤です。 MLflowは機械学習の管理を扱うツールとして、Optunaはハイパーパラメータを自動調整するツールとしてともに広く使用されているツールです。MLflowとOptunaを同時に利用した際に、Optunaが複数回試行することによってMLflow上にrunが大量に生成され、MLflow上で試行結果が見づらくなります。 記事では、大量に生成されるrunに親のrunを付与することで、MLflowのWebUIから見やすくする方法を提示します。 課題Optunaは事前に指定した範囲の中からハイパーパラメータの組み合わせを自動的に選択してモデルを学習して評価するという試行を繰り返すことで、良いハイパーパラメータを探索するツールであり、これにより手作業でハイパーパラメータを調整するのを省けます。 MLflowは機械学習の管理

    MLflow上でOptunaによって生成される大量のrunを整理する | フューチャー技術ブログ
    sh19910711
    sh19910711 2024/04/23
    "MLflow: mlflow.parentRunIdというタグ + 親のrunのIDを設定すると、WebUI上で親子のrunがネスト / Optunaによって生成される大量のrunを一つの親runに結び付けることができます / システムタグは.parentRunId以外にも存在"
  • ChatGPTでE2Eテストコード自動作成 | フューチャー技術ブログ

    9/7に行われた技育CAMPアカデミアというイベントでPlaywrightについて話をしてきました。テストというと、設計手法であるところのテスト駆動開発は別としてちょっと業務っぽい感じがして学生さんにはちょっと響かないかな、というのも心配でしたが、アンケートを見る限り、わかりやすかったという声も多くてほっとしました。 次のスライドが今回の資料です。スライドの内容の多くはPlaywright連載始まりますに掲載されている記事にもぼつぼつある内容も多い(APIテストはないですが)のですが、エントリーでは発表の最後に触れたChatGPTなどの生成AIを使ったE2Eテストの生成について説明していきます。 ChatGPTが話題を席巻してしばらく経ちます。とはいえ、内製開発での利用以外はソースコード開発にばりばり使う、みたいな宣言はあまり聞かない気がします。利用を制限している会社も数多くあります。

    ChatGPTでE2Eテストコード自動作成 | フューチャー技術ブログ
    sh19910711
    sh19910711 2024/04/20
    "HTMLを渡すだけでそれを操作するコードを書いてくれました / Cypressはずっと安定したAPIを提供し、Playwrightはアクティブに機能追加したりしている印象がありますが、これが生成AI経由に使い勝手に影響" 2023
  • Cloud Run に ko と skaffold を使ってデプロイまでやってみる | フューチャー技術ブログ

    はじめにこんにちは! TIG コアテクチームの川口です。記事は、CNCF連載 の5回目の記事になります。 記事では、CNCF の Knative を基盤として利用している Cloud Run と CNCF の各種ビルドツール ko, skaffold、Cloud Deploy を用いたうえで、アプリケーションのビルドからデプロイまでを行います。 扱う技術要素今回は、合計5つの技術要素を扱います。 全体感を掴むため、それぞれの技術とそれらの関連について図示します。 Cloud Run (Knative)Cloud Run は、Google Cloud におけるコンテナベースのサーバーレスコンピューティングサービスとしてよく知られているものかと思います。こちらは、基盤として Knative を採用しています。 この Knative は 2022年の3月に CNCF の Incupating

    Cloud Run に ko と skaffold を使ってデプロイまでやってみる | フューチャー技術ブログ
    sh19910711
    sh19910711 2023/07/21
    "ko: Go のコンテナイメージを Dockerfile 無しに簡単にビルドすることができるツール + 2022年の12月に CNCF の Sandbox プロジェクトとして承認 / Cloud Deploy: 最近 preview ではありますが、 カナリアデプロイ も行えるように"
  • Great ExpectationsでBigQueryのデータ品質を監視する | フューチャー技術ブログ

    1. はじめにこんにちは、フューチャーでアルバイトをしている板野です。 Great Expectationsというツールを使って、表形式データの品質をバリデーションする流れをご紹介します。 MLOpsを推進するにあたりMLモデルの監視が必要となってきています。その中でも、MLモデルに入出力されるデータ品質をバリデーションすることは重要な監視事項の一つです。 ML監視についての概要や意義については、こちらの記事で詳しく述べられているのでぜひご覧ください。 2. Great Expectationsの概要 ※公式サイトロゴ Great Expectations(GX)はデータ品質監視ツールの1つで、表形式データの品質監視ができます。GXはOSSであり、Pythonライブラリとして提供されています。 予めデータに対し、Expectationと呼ばれる「データのあるべき姿」を定義しておき、監視対象

    Great ExpectationsでBigQueryのデータ品質を監視する | フューチャー技術ブログ
    sh19910711
    sh19910711 2023/06/11
    "Notebookを実行して、CLIでは設定しずらい詳細な設定を適用していく仕様 / Notebookを使わない場合は直接yamlファイルを編集することになります / 公式コミュニティに既存のExpectationsが300個以上 + Expectationを自作することも可能"
  • チームの開発生産性を高めるための心がけ | フューチャー技術ブログ

    はじめにTechnology Innovation Group 辻です。 秋のブログ週間の 4 目です。 最近はアーキテクトとしてチームにジョインすることも増えてきました。より素早く、継続的にビジネス上の価値を提供するためにチームの開発生産性は重要です。チームの生産性を高めるために私が心がけているいくつかの内容を紹介します。 心がけ 開発上のボトルネックを取り除く コードべースの品質を保つ コードを読みやすくする 素早くレビューに取り組む、質問/相談にレスポンスする 体裁の一貫性を保つ 1.開発上のボトルネックを取り除く開発上のボトルネックになっているポイントを発見し、原因を特定し、対応する、ということです。一例をあげると以下のようなことです。 コードの責務がはっきりしておらず、改修時の影響が大きくなる。意図しない挙動になる そもそもテストコードがなく、機能仕様が満たされているのかわから

    チームの開発生産性を高めるための心がけ | フューチャー技術ブログ
    sh19910711
    sh19910711 2023/05/14
    "テスト: 意図しない振る舞いをより早く捉える / 影響が意図しているものだけであるか、意図せず挙動が変わっていることがないか、PR をマージする前に自動テストして確認 + 十分早い時間で動作させることも必要" / 2022
  • tree-sitter文法入門 | フューチャー技術ブログ

    こちらはPostgreSQL Advent Calendar 2022 カレンダー2枚目・15日目の投稿となります。 前回は、@hmatsu47さんのSupabase で TCE(透過的列暗号化)を軽く試してみたでした。 はじめにこんにちは、フューチャーでアルバイトをしている齋藤です。以前は同社のインターンでSQLフォーマッタを作成していました(記事)。現在はインターン中に作成していたSQLフォーマッタをPostgreSQLの構文に対応させる作業に取り組んでいます。 このフォーマッタではSQLパーサにtree-sitter-sqlを利用していますが、対応していない構文がいくつか存在します。記事では、未対応の構文であるBETWEEN述語を例に、tree-sitterの構文拡張の手順を紹介します。開発中のSQLフォーマッタはOSS公開予定ですので、ぜひ仲間を増やしたいという思いから記事にしま

    tree-sitter文法入門 | フューチャー技術ブログ
    sh19910711
    sh19910711 2023/01/16
    2022 / "tree-sitter: 一般的なパーサライブラリでは抽象構文木(AST)を構築するのに対し、tree-sitterで生成されたパーサは具象構文木(CST)を構築 / tree-sitter-sql: tree-sitter用に書かれたSQLの文法 + 生成されたパーサライブラリ"
  • SREの探究 - Spotifyの事例:Ops-in-Squads | フューチャー技術ブログ

    はじめにこんにちは、TIG 岸下です。 秋のブログ週間の5目になります。 最近、Netflixで配信中のSpotify創業ドキュメンタリー:The Playlistを見ました。創業ドキュメンタリーは鳥肌モノが多く、なんだかパワー貰える感じがして自分も頑張ろうと思わせてくれるので非常にオススメです1。 そんなわけでSpotify熱が高まっていたこと、自分がプロジェクトの方でSRE活動に関わっていることもあり、SREの探究:7章「SREのいないSRE:Spotifyのケーススタディ」を読んでみました。 そもそもSREって?恥ずかしながら、自分も現在のプロジェクトに配属されるまでSREの存在を知りませんでした。 SREはSite Reliability Engineeringの略で、サービスの信頼性をソフトウェアエンジニアリングの力で高めていこうぜ!というGoogle発祥の試みになります。 も

    SREの探究 - Spotifyの事例:Ops-in-Squads | フューチャー技術ブログ
    sh19910711
    sh19910711 2022/11/20
    "2012年後半に100万ユーザーを突破したSpotifyは未だ手作業でのデプロイを行っていました / 社内チャットで 「~~ DEPLOY!」と叫ぶことで他のユーザーが別のデプロイ作業を行わないように排他制御 / 『SREの探究:7章』"
  • ポッドキャスト運営をしていて思うこと、収録Tips | フューチャー技術ブログ

    こんにちは、Future Tech Cast メインパーソナリティの村田です。 今回は秋のブログ週間連載3日目ということで、ポッドキャスト運営として活動する中で思うこと、ナレッジをつらつらと書いていきたいと思います。 私はフューチャーにて Future Tech Cast を運営しつつ、プライベートでも1ポッドキャストを運営しています。記事ではせっかくなので2つのポッドキャスト運営を通じて培ったノウハウにも触れたいと思います。 ポッドキャストを始めたわけフューチャーには元々 Future Tech Blog があり、2016年から続く長寿コンテンツとして君臨しています。ちょこちょこはてぶランキング上位にい込む記事が登場したり、皆さんに愛されるブログとなっているかなと思います。フューチャーとしての技術発信の軸足はいまも変わらずこの技術ブログに置かれているのですが、コロナをきっかけにポッ

    ポッドキャスト運営をしていて思うこと、収録Tips | フューチャー技術ブログ
    sh19910711
    sh19910711 2022/11/10
    "国内におけるポッドキャスト利用実態についてはオトナル様の「ポッドキャスト国内利用実態調査2021」が一番丁寧に調査・整理されている印象 / ポッドキャストの聴取シチュエーショントップは「家事中(35.2%)」"
  • サステナブルなエンジニア組織デザイン(前編) ~よくある設計とジレンマ~ | フューチャー技術ブログ

    はじめにここ数年来で人材マーケットにおけるIT人材の需要が高まり人材獲得合戦が過熱しています。経済産業省が2018年に公開したレポート「2025年の崖」では2025年にはIT人材不足が約43万人まで拡大すると指摘しています。やや煽り気味だなーと思えるぐらいにメディアも一斉に取り上げました。「今のうちにIT人材を大量獲得せよ!」とトップダウン指示を受けて、人材の囲い込み合戦に参戦して大変になられている人事担当の方も多いだろうなと想像しています。 ※当社ではIT人材をコンサルタント+エンジニア≒アーキテクトと呼称しますが、稿では便宜上エンジニアと表記します。 エンジニアの住む世界迫り来る将来の危機が人材不足というエンジニアの量の問題なのかというとそれは湾曲した認識です。エンジニアはソースコードは短ければ短いほど美しいと思う人種で、クラウドネイティブな作品が増えてきてからはこぞってアーキテクチ

    サステナブルなエンジニア組織デザイン(前編) ~よくある設計とジレンマ~ | フューチャー技術ブログ
    sh19910711
    sh19910711 2022/09/19
    "領域に固執しすぎてしまうとエンジニア間に壁が生まれ、ノウハウが分断されて技術力は相対的に停滞しがち / 過度な協調は他力に頼りやすくなり、組織が大きくなるにつれてプロジェクトのオーナーシップが欠如する"
  • Raspberry Piをかき集めてKubernetesを体感する | フューチャー技術ブログ

    夏の自由研究ブログ連載2022 の10目です。 はじめにTIG 岸下です。業務でGKE(Google Kubernetes Engine)を利用することがあるのですが、Kubernetesの挙動や仕組みなど如何せん理解が難しいです。 そこで今回は、自分の手でイチからKubernetesを構築することで勉強しようと思ったのが記事のモチベーションです。 ちょうど自宅にRaspberry Piが3台あったのでRaspberry Piでクラスタを構築していこうと思います。基的には以下の記事を参考に設定を行っていき、自分の理解を深めるために解説を挟みながら書いていこうと思います。 参考:RaspberryPi 4 にUbuntu20.04 をインストールして、Kubernetes を構築してコンテナを動かす 今回Kubernetes構築するにあたって用意したもの Raspberry Pi3 M

    Raspberry Piをかき集めてKubernetesを体感する | フューチャー技術ブログ
    sh19910711
    sh19910711 2022/09/11
    "夏の自由研究: ちょうど自宅にRaspberry Piが3台あったのでRaspberry Piでクラスタを構築 / クラウド上でゴニョゴニョ行われていることに対して、物理的な構成から作ってみることで解像度が上がった気がします"
  • 人月の神話を読んでみた | フューチャー技術ブログ

    TIGの伊藤真彦です この記事は秋のブログ週間の2記事目です。 この前新宿で複数の用事を済ませていた際、隙間時間が暇になったため人月の神話を買ってみました。紀伊国屋新宿店の技術書コーナーはほぼ全ての技術書が置いてあるのではと感じるほどの物量があるのでおススメです。 名著として名高い事は知っており、タイトルに惹かれて読んでみましたがとても良いものでした、読書の秋におススメの一冊として紹介します。 人月の神話とは 皆さんは「人月の神話」という書籍をご存じでしょうか。 ITの世界には名著と呼ばれる書籍がいくつかあります。人月の神話はそのうちの一冊です。フレデリック・ブルックスによるソフトウェア工学、およびプロジェクトマネジメントに関する書籍です。 最初の刊行はなんと1975年、実に40年以上の時を経て未だに読まれている書籍です。進歩が速く、常に新しい知識が求められるイメージのIT業界において、

    人月の神話を読んでみた | フューチャー技術ブログ
    sh19910711
    sh19910711 2022/08/22
    2021 / "人月の神話: 最強のノウハウが手に入るわけではなく、プロジェクトが上手くいかない経験を積み重ねた人生経験を追体験するような読後感 / 18章: 書かれた内容が正しかったか否かを著者本人が改めて分析"
  • AWS Glueで複雑な処理を開発するときのTips | フューチャー技術ブログ

    はじめにこんにちは。TIGの藤田です。 Python連載 の8日目として、PySparkを使用したGlueジョブ開発のお話をします。 ETLツールとして使用されるAWS Glueですが、業務バッチで行うような複雑な処理も実行できます。また、処理はGlueジョブとして、Apache Spark分散・並列処理のジョブフローに簡単に乗せることができます! 特に複雑な処理は、やや割高な開発エンドポイントは使用せず、ローカル端末で、しっかり開発・テストを行いたいですよね。そのためのローカル開発Tipsをご紹介します。 内容 Glueジョブの開発と実行概要 Tip1: ローカル環境構築 Tip2: PySpark, SparkSQL開発 Tip3: 単体テスト(pytest) Tip4: データカタログどうする問題 Glueジョブの開発と実行概要ローカル開発の前に、AWS Glueでのジョブ実行方法を

    AWS Glueで複雑な処理を開発するときのTips | フューチャー技術ブログ
    sh19910711
    sh19910711 2022/06/22
    chispa / "割高な開発エンドポイントは使用せず、ローカル端末で、しっかり開発・テストを行いたい / アサーションをファイル単位で行う場合は、DataFrameを比較できるツール(chispaなど)を利用すると便利"
  • Transformerを用いた表現学習・推薦の実装 | フューチャー技術ブログ

    こんにちは!SAIGの金子です。 普段はフューチャーのAIグループで開発を行っている他、nadareというハンドルネームでデータ分析コンペティションに参加しています。 自然言語処理でよく使われるWord2VecやTransformerをログデータやテーブルデータの予測・分析に活用するためのオレオレベースラインを紹介します。 対象読者 既にWord2VecやTransformerについて知識があり、その上自身で改造を行いたい人 レコメンド・検索技術に興味のある人 はじめに昨今、ECサイトの閲覧・購入履歴の分析やワクチンの開発といった自然言語以外の分野でも、それぞれの商品やアミノ酸を単語とみなして埋め込み表現を獲得するWord2VecやBERTのような自然言語処理由来の技術が活用されています。 これらの分析にはgensimのようなよく整備されたライブラリが活用されますが、それらは自然言語処理を

    Transformerを用いた表現学習・推薦の実装 | フューチャー技術ブログ
    sh19910711
    sh19910711 2022/05/30
    "Kaggleのriiidコンペ: TOEICの問題集のアプリを使うユーザーが過去に解いた問題から、次に解く問題についての正解率を予測 / 問題は13000問、ユーザーは40万人分"
  • Serverless連載5: CloudEventsのGo版SDKをいじってみる | フューチャー技術ブログ

    今回は『CloudEvents仕様のメッセージをローカル端末からCloud Pub/Sub経由でCloud Functionsに渡し、個々の値を取り出しプログラムで扱える形にすること』を目的とします。 以下のような形を目指します。 SDKバージョンについての補足現在v2は work in progress とのことで、今回は雰囲気を掴むためにLatest Releaseの v1.1.2 のソースコードをいじってみます。 ※v1のREADMEには 2020.03.27 を目処にv2リリースを目指すとの記載がありますが、いまも絶賛開発中と思われます。 We will target ~2 months of development to release v2 of this SDK with an end date of March 27, 2020. https://github.com/cl

    Serverless連載5: CloudEventsのGo版SDKをいじってみる | フューチャー技術ブログ
    sh19910711
    sh19910711 2021/11/19
    "CloudEventsは様々存在するイベントを統一的に扱いたいとの思いから登場した統一仕様 / SDKは絶賛開発中 / 世に蔓延る様々なイベント形式に悩まされる実装者が幸せになれる未来が待っていると思うと非常に楽しみ"
  • Airflow Breeze を利用してローカルで Airflow を起動する | フューチャー技術ブログ

    概要TIG の多賀です。 OSS として Airflow へ貢献するにあたり、ローカルでの実行やテストの環境整備が必要になります。また、 Airflow を利用するにあたってもローカルでの動作確認をしたいケースは多いかと思います。 Airflow では、 Airflow Breeze と呼ばれる環境が整備され、公式より提供されています。当記事では、 Airflow Breeze について概要を記載し、 Airflow への OSS 貢献の入り口となれば良いと考えています。 Airflow Breeze とはAirflow Breeze とは、ローカルで Airflow を簡単に実行できるように整備された環境を指します。実態はコンテナベースで構築され、Docker Compose が利用されています。 airflow/AirflowBreeze_logo.png at master · ap

    Airflow Breeze を利用してローカルで Airflow を起動する | フューチャー技術ブログ
  • SQLBoiler(とoapi-codegen)でつくるREST APIサーバ | フューチャー技術ブログ

    ライブリッツの筒井です。 GoのORマッパー連載、折り返して5日目です。 SQLBoilerを使用したDBスキーマ駆動なREST APIサーバの開発ワークフローを紹介します。 なぜSQLBoilerを選ぶのか?自分たちのチームでは、REST APIサーバを開発する際にはまずデータベースのテーブル設計から始めることが多いです。その次にAPI定義の設計へ入るのですが、既にテーブル定義は出来上がっているため、なんとなくSQL文が頭に思い浮かんだ状態でAPIのRequest / Responseを考えることになります。 ゆえにORMに一番に求めるのは、「いかにストレスなく思い描いていたSQL文を実行し、Goの文脈に持ち込めるか」ということです。 この基準を元に、次のような観点からSQLBoilerを選定しています。 複雑なSELECT文でDSLに苦悩したくない前述の通り、我々の頭の中にはなんとなく

    SQLBoiler(とoapi-codegen)でつくるREST APIサーバ | フューチャー技術ブログ
    sh19910711
    sh19910711 2021/08/01
    "ORMに一番に求めるのは、「いかにストレスなく思い描いていたSQL文を実行し、Goの文脈に持ち込めるか」 / SQLBoilerにはSchema Migration機能は含まれておらず、既存のデータベースからコードを生成するアプローチ"
  • ANTLRを業務で活用した話 | フューチャー技術ブログ

    はじめにこんにちは、TIG コアテクノロジーユニットの平岡です。 コアテクノロジーユニットはフューチャーグループ全体のビジネスを支えるコアとなる技術をグループ横断で提供することをミッションにしています。またOSS活動も活発に行っています。コアテクノロジーユニットのメンバーが以前に投稿した記事をいくつか紹介しておきますので、是非そちらもご覧ください。 RedmineからGoogle Hangouts Chat へ連携するプラグインを作成しました! その問い合わせ、AIが解決します!~Redmineチケットレコメンドシステムのご紹介~ SQL開発者を幸せにする!? Sublime Text 3でも使える uroboroSQL Formatter を公開しました ANTLRとは皆さんはANTLRをご存知でしょうか?ANTLRとはparser(構文解析器)を生成するためのツール(パーサジェネレータ

    ANTLRを業務で活用した話 | フューチャー技術ブログ
  • PythonユーザーのためのGraalVM | フューチャー技術ブログ

    ちょうど一年ぐらい前にGraalVMが商用利用可能な安定版に達し、Enterprise版もリリースされたというニュースがあります。 publickey: GraalVM、ついに番利用可能なバージョン「GraalVM 19.0」登場、JavaJavaScriptなど多言語対応ランタイム。商用版のGraalVM Enterprise Editionもリリース GraalVMにはPython機能もあると宣伝されているものの、詳しい説明が行われることがなく、それが何者で、どのようなステータスで、どこを目指しているのか、きちんと答えられる人は(日どころか世界でも)ほぼいないでしょう。GraalVMそのものの説明はちょくちょく出てくるようになってきたと思いますが、そのPythonの機能についてはあまり説明されていないため、Python部分にフォーカスして紹介します。 Graal.Pythonのイ

    PythonユーザーのためのGraalVM | フューチャー技術ブログ
    sh19910711
    sh19910711 2020/07/26
    "Rでデータファイルを読み込んでPythonでデータ処理をして・・・など言語跨ぎで各言語の得意な部分を生かしたコーディングができるのを目指している"
  • GKEクラスタに割り当てるCIDRを設計する | フューチャー技術ブログ

    はじめに前回投稿したGCP記事で紹介したGKEクラスタのCIDR設計について、深堀りした記事になります。 1-5. 共有VPC上のGKEクラスタのセカンダリCIDR設計 事象: オンプレ環境と接続する1つの共有VPC上にproduction, stagingなど複数プロジェクトを相乗りさせる場合、各プロジェクトで利用するセカンダリCIDRの設計が必要。 対応: GKEで必要なセカンダリCIDRを腰入れて設計しました。スタンダードなこれと言った解はなく、必要な環境数、オンプレ環境から割り当てられたIP範囲から適宜設計する必要があります。 記載通りですが、GKEクラスタを構築する際に、実際に設計した内容を元に制約や設計のポイントを紹介したいと思います。 GKEとは コンテナ化されたアプリケーションをデプロイするための、番稼働に対応したマネージド型環境です。 https://cloud.go

    GKEクラスタに割り当てるCIDRを設計する | フューチャー技術ブログ
  • フューチャー技術ブログの運営で心がけていること | フューチャー技術ブログ

    はじめにTIG DXユニットの真野です。フューチャー技術ブログの運営の1人です。未来報を運営している岡田さんなどと一緒に、気持ちは草の根活動で外部発信に携わっています。 IT企業の技術ブログ運営は、ある一定の質をキープしながらも、投稿頻度を高め・それを継続することが求められ、周囲の期待値もあるので中々気を抜けない仕事だと思います。単発ならともかく、継続することは忍耐が必要なので特に大変です。運営していてこれはナレッジだなと感じたことをまとめていきます。 2020/09/08 続編を公開しました: フューチャー技術ブログで行っている連載企画が良いよって話 技術ブログの大変なところ≒記事ネタを探すところ熱心な寄稿者が複数いて、運営からの声掛け無しで記事が集まるのであれば非常に楽ですが、たいていの組織やチームはそうでないと思います。また、業は記事を書くことではなく、自社プロダクトの開発やシステ

    フューチャー技術ブログの運営で心がけていること | フューチャー技術ブログ
    sh19910711
    sh19910711 2020/06/07
    Google Chat便利そう / "Slack以外にも「Go相談室」「クラウドアーキナレッジ共有会」 / 「OCV(競技プログラミング部)」など多くのGoogle Hangoutチャットルームが存在"