要約 大学の研究室でClearMLを導入して実験記録やデータセットの管理を自動化した結果、 研究の本質的な作業に使える時間が増えたよという話です。 単にMLOps導入の話であれば既に多くの知見がありますが、それほど規模が大きくない大学の研究室でMLOpsツールを活用する一つの事例として参考になれば幸いです。 (特に自分の研究室でこういったツールを使ってみたいけど、周りが興味なくて導入に踏み切れない同士がいたら参考にしてください。) はじめに zennでは初めまして、SIY1121です。 ここ数年は主にweb系・音響系の開発をしていますが、 現在は大学院1年で音響処理と深層学習を組み合わせた研究もしています。 さて、最近特にweb系ではCI/CDを始め、可能なものは自動化する文化がすっかり浸透したように思います。そんなweb畑にいたこともあって、研究室に入ってからも「自動化できる部分は自動化
Windows 10 にアップデート(1803)がきて Windows Subsystem for Linux(Ubuntu) で Windows側のファイルパーミッションが変更できるようになったので試してみました。 環境 Windows 10 April 2018 Update バージョン 1803 Ubuntu 16.04.4 LTS パーミッション変更 Windows 10 をアップデートして早速試してみるもパーミッションが変更できない・・・。 こちらの記事を参考にして変更できるようになりました。 http://ascii.jp/elem/000/001/623/1623594/ いったんアンマウントして metadataオプションをつけてマウントするとパーミッションが変更できるようになります。
はじめに Windows on Linuxを使うとWindows10でLinuxを使うことができるようになります. これを用いて,Ubuntuを動かすことができます. しかし,新たに作成したファイルやディレクトリの初期パーミションによってはGitを使うときにエラーがでるなど,苦労することあります. なので,初期パーミッションをただしく理解して設定しておくと安心してつかえるでしょう. (私も初期パーミッションの設定でGitをうまく動かせずに苦労しました) この記事を書く前にgitでcheckoutでpermission deniedが出る問題を書きました. これはこれでうまくいったのですが,Ubuntuを閉じてしまうとパーミッションが初期パーミッションに変わってしまいとても不便でした. なので,おおもとの設定を変更する必要があります. ※筆者はLinux初心者なので間違いがあったらすみません
こんにちは、UZOU事業部の久松 @hisao_00 です。 業務としては、ネイティブ広告配信アルゴリズムの調査、設計、プロトタイプ開発を行っています。 先日開催された、SpeeeKaigi#4にて「数理最適化を用いた広告オークション入札金額の最適化」について発表しました。 数学好きの方、アドテク界隈の方、ぜひ読んで頂ければ幸いです。 概要 制約つき非線形最適化問題を解くことで、広告主がメディアの配信枠に対して入札する金額を最適化するロジックを考え、シミュレーションしてみました。 背景 広告主はUZOUを通してメディアに配信されますが、広告主に継続して出稿してもらうためには、広告成果を合わせることが重要です。 広告成果とは Web広告の大多数は、パフォーマンス広告と呼ばれるもので、 健康食品や化粧品など、ネット上に配信された広告を導線として 商品の購入までを想定して配信されています。 その
AI戦略室の椎橋です。LIFULLで取り組んでいる広告費配分のポートフォリオ最適化を紹介します。 LIFULLは広告宣伝費に年間100億近く使っており、決算説明会の質疑応答でも頻出なテーマで削減することが求めらています。広告にはTVCMや電車のつり革広告、リスティング広告や、リターゲティング広告など広告配信する場所やターゲットユーザー層もさまざまな種類があります。これらの広告媒体にそれぞれいくらの金額を投資すべきかというポートフォリオ最適化を計算するのが本記事のメインになります。 社内システムMAM 広告運用を自動化するためにMAMという社内システムがあります。広告を運用するマーケターが操作するためのフロントエンド、広告実績を蓄積するDB、取得・集計する定期バッチ処理などの機能をすべてまとめてMAMと呼んでいます。ポートフォリオ最適化におけるデータの流れを簡易的に図示すると以下のようになり
Welcome to Comprehensive Rust 🦀 This is a free Rust course developed by the Android team at Google. The course covers the full spectrum of Rust, from basic syntax to advanced topics like generics and error handling. The latest version of the course can be found at https://google.github.io/comprehensive-rust/. If you are reading somewhere else, please check there for updates. The course is also av
Devbox vs Docker: Lightweight, repeatable dev environments without container woes TLDR; At Jetify, our Docker development container initialization script used to be like this: image: ubuntu:22.04 ... # Install Go. wget --progress=bar:force:noscroll https://golang.org/dl/go1.19.linux-amd64.tar.gz -O go.tar.gz sudo tar -C /usr/local -xzf go.tar.gz echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.zsh
Why we choose Nix for Devbox We took the convenience of virtual environments, the UX of npm, and the immutability of NixOS to create this magical local-like experience with Devbox. Imagine that you just started a new data project that requires Python 3.10, but you have Python 3.8 already installed globally on your machine. You cannot upgrade Python because another project depends on the older vers
はじめに 本稿は、ソフトウェア開発を進める際に直面する様々な技術的な意思決定やライブラリ・フレームワーク・XaaS等を選択し正しく活用していくのかについての考え方をサポートすることを目的としています。「すべてにおいてこのようなワークフローを通じて検討すべきである」という主張ではありません。読者の抱える問題領域に応じて、必要な箇所を取捨選択するための1種の考え方を提供するものです。 そもそもアーキテクチャ・技術選定に時間をかけるべきか まず第一に伝えておきたいことは、技術選定やアーキテクチャ設計に常に慎重であるべきではないということです。ソフトウェアの規模やライフサイクルに応じて、そもそも時間をさく必要がないということも多くあります。書き捨てのシェルスクリプトにも読みやすいコードを求めて書くことは非常に重要ですが、だからといって組織だって議論・検討するようなものでもないのです。一方で、5年も
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。ヤフーのAIプラットフォームチームに所属している黒松です。 今年の1月に公開した「MLOpsを支えるヤフー独自のモデルモニタリングサービス」の記事ではヤフーが内製したモデルモニタリングツールであるDronach(ドロナック)をご紹介しました。 本記事では、新たにDronachに追加したFeature Attributionドリフト検定機能を実例とともにご紹介します。 AIプラットフォームチームについて 私が所属しているAIプラットフォームチームは、社内のAI活用を促進するための共通プラットフォームを開発し提供することが目的のチームです。 AIプラットフォームは、Namespaceで分離されたマルチテナントKuberne
Is it worth the effort to design software well? From time to time I have indirect conversations about whether good software design is a worthwhile activity. I say these conversations are indirect because I don't think I've ever come across someone saying that software design is pointless. Usually it's expressed in a form like "we really need to move fast to make our target next year so we are redu
会計チームで債権周りの開発をしている hachi (@hachiblog)です。会計チームが開発している freee 会計は freee の中で一番歴史が長いプロダクトです。加えて会計というドメインは複雑かつバグを生むと顧客の業務を大きく阻害するという点で一度作ったものを変更しづらいという特徴があります。 そのような環境で今回、債権のチームでは freee会計の初期からある「自動で経理」という機能の一部リファクタリングを行いました。リファクタリングのしづらい環境下でうまくリファクタリングをすすめるための tips は多くの人に役立つのではと思い、このエントリを書くに至りました。 今回「自動で経理」でリファクタリングしたときに事前に以下のことを行いました。 課題の発見 課題の具体化 設計とスケジュール見積もり テストコード実装 それぞれについて今回意識したことを書いていきます。 課題の発見
これはなに 世の中の3人~8人程度のソフトウェア / システム開発チームの多くは,俗に言う「アジャイルな開発手法」のプラクティスを実践し,1週間から1ヶ月に1度といった定期的なタイムボックスを設けてチームの開発プロセスや成果物などを対象とした「ふりかえり」をしていると思います。 そして,日本の多くの現場では,「KPT」と呼ばれる Keep (続けること) / Problem (問題になっていること) / Try (次のタイムボックスで新しく試みること) を挙げる方法による振り返りをしているのではないかと思います. 私が開発リードを務めているチームでは,KPT とは違ったフレームワークで週に1度のふりかえりを行っていて,割とうまくいっていると思っているので,それを紹介しようと思います. KPT は「チーム」のふりかえりには向かない 最近個人的に思っているのは,KPT はチームのふりかえりには
雑に書いていきます。 バックグラウンド自分のバックグラウンドスキルは以下の通り。専門はリアルタイムな通信プロトコルを利用したサーバーの設計と開発とマーケティング。 Erlang/OTPWebRTCEnd to End Encryption細かいのはこちら。 SQLGo で sqlc を使うために学ぶことにした。sqlc を採用したのは複数人数で開発するときの共通言語としては SQL の方がいいだろうというのと、SQL はどんなデータを持たせたいのかを伝えるのに便利と判断したため。 今までずっと通信系ミドルウェアの開発をしてきたこともあって SQL を学ぶ必要が無かったが、今回いい機会なのでちゃんと学ぶことにした。 まずは利用データベースを完全にしぼって TimescaleDB (PostgreSQL ベース) で利用する SQL だけを学ぶことにした。 書籍は元 SIer のガチ SQL
自社では Sphinx というドキュメントツールを利用しているのですが、残念ながらこれに付属している検索機能の日本語検索はかなり厳しいです。また残念ながら Sphinx 開発側も検索周りを改善するという予定は直近ではないようです。 そして検索というのはとても難しい技術なため自分のような素人では導入して「普通に期待する動作」をさせるまでの距離はとても遠いです。 ただ、なんとかして日本語全文検索を実現したいという思いはここ10 年くらいずっと思っていました。これは自社の Sphinx テーマを作ってくれている社員ともよく話をしていたのですが、どうしてもリソースをつぎ込めずにいました。 まとめ日本語検索に対応している Meilisearch を採用したドキュメントスクレイパーの実行は GItHub Actions (Self-hosted Runner) を採用した自社 Sphinx テーマの検
How often do you find yourself in a situation where something builds and works on your machine, but doesn’t build on CI or fails catastrophically in production? In many cases, those problems are a symptom of something most developers face: lack of reproducibility. Your code depends on an environment variable at compile time, or significantly changes behavior with different versions of a dependency
ローカル環境を汚さずDockerコンテナのオーバーヘッドもなく、開発環境を自在に構築できる「Devbox 0.2.0」登場 Dockerコンテナの技術を用いることで、プログラミング言語のランタイムやライブラリ、ミドルウェアなどの開発環境一式を比較的容易に導入することが可能になりました。 ただしDockerコンテナにもファイルシステムのオーバーヘッドなどがあり、Dockerコンテナ内の開発環境ではコンパイルなどに時間がかかってしまう場合があったと開発ツールベンダのJetpack Technologiesは自社の経験から指摘します。 そこで同社がオープンソースで開発しているのが「Devbox」です(ちなみにマイクロソフトによる仮想化された開発環境の「Dev box」とは名前は似ていますが別のものです)。 Devboxは、ローカル環境上に分離した環境を用意しそこで開発環境を構築可能にしつつ、Do
Option#unwrap_unchecked & Result#unwrap_unchecked unwrap_unchecked というメソッドが生えた。unwrap とは違い、None や Err に対してこれを実行すると未定義動作になる。したがって、この関数は unsafe になっている。 では unwrap と何が違うか。Option を例にとってコードを読むと違いが少しわかる。 pub const unsafe fn unwrap_unchecked(self) -> T { debug_assert!(self.is_some()); match self { Some(val) => val, // SAFETY: the safety contract must be upheld by the caller. None => unsafe { hint::unreach
「オブジェクト指向神話からの脱却」というあおり気味タイトルの特集をWEB+DB PRESS vol.132で書きました。 12/24発売!クリスマスプレゼントです WEB+DB PRESS Vol.132 作者:きしだ なおき,加藤 尋樹,斉藤 洸紀,牟田 裕太郎,吉澤 政洋,朝日 リナ,鈴木 僚太(うひょ),川島 義隆,五十嵐 進士,末永 恭正,佐藤 雄太,吉井 健文,牧 大輔,西山 和広,吉田 花春,古川 雅大,岡林 大,池澤 春菜,和田卓人,日高 正博,はまちや2,竹原技術評論社Amazon 大まかには、「オブジェクト」でソフトウェアをぜんぶ考えるということに無理があったので、パーツそれぞれ適したやりかたでやっていこうぜ!という内容です。 ソフトウェアを切り出したときのパーツとしてのオブジェクトの特性が同質であるという暗黙の前提があって、だから「オブジェクトの話をすればソフトウェア開
はじめにどうも、sakです。 前回は「アルゴ式 for business」に関するプレスリリースを打った際にnoteを書きましたが、新たにプレスリリースを打ったため、経緯と熱意を綴ったnoteを書きました。今まで教育に取り組んでいたのに急にどうしたの、ということが書かれています。 プレスリリース登録から公開までの1時間ほどでかきあげた記事で構成の甘さなどあるかもしれませんが、PRに至るまでの経緯と熱意はちゃんと伝わるよう書いたつもりなのでお読みいただけると幸いです。 まず、エンジニア派遣の存在が闇であると言っているわけではないことはことわらせてください。労働者派遣法によって生成される「歪み」を闇と表現しています。 PRについて エンジニア派遣・SES企業と受け入れ企業間の「技術力ミスマッチによるトラブル」を未然に防ぐための、エンジニアの技術力を可視化する「アルゴ式 技術力ヘルスチェック」を
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く