ブックマーク / tech-blog.abeja.asia (41)

  • 【Python 3.12】型ヒント機能がいつの間にか進化していたので、慌ててキャッチアップする - ABEJA Tech Blog

    ABEJA でプロダクト開発を行っている平原です。 先日、バックエンドで使っているGo言語のお勉強しようと「go言語 100Tips ありがちなミスを把握し、実装を最適化する」を読んでいました。その中でinterfaceは(パッケージを公開する側ではなく)受け側で定義するべきという記述を見つけてPythonでも同じことできないかと調べていると(PythonではProtocolを使うとうまくいきそうです。)、どうやら型ヒント機能がかなりアップデートされていることに気づき慌てて再入門しました。(3.7, 3.8あたりで止まってました。。) この記事では、公式ドキュメントを見ながら適当にコードを書き散らし、どの機能はどこまで使えるのか試してみたことをまとめてみました。 docs.python.org 環境 Python: 3.12.1 エディタ: Visual Studio Code Pylan

    【Python 3.12】型ヒント機能がいつの間にか進化していたので、慌ててキャッチアップする - ABEJA Tech Blog
  • AWS Config が高いと感じたら。AWS Config のコストを15分の1に下げた話 - ABEJA Tech Blog

    切っ掛けと問題の認識 AWS Config のカウント数の監視 対象外にしたいリソースが見つかったら AWS Config 側で除外する 実際のコスト削減効果 なぜもともとコストが高かったのか まとめ こんにちは、ABEJAの村主です。ABEJAアドベントカレンダー2023の18日目の記事です。今回は、意外にも高額になりがちなAWS Configのコスト削減について、どのように対応したかをご紹介します。特に、AWS Configのコストを大幅に減らすためのアプローチについてお話しします。また、CloudWatch で AWS Config のカウント量を可視化する方法はあまり見かけなかったのでブログにしておきました。 切っ掛けと問題の認識 最初に気づいたのは、AWS Cost Explorer を確認していたときです。そこで見たAWS Configのコストは、1日あたり約$15、月間では約

    AWS Config が高いと感じたら。AWS Config のコストを15分の1に下げた話 - ABEJA Tech Blog
  • GitHub Copilot はどのようにして空気を読むか? - ABEJA Tech Blog

    "Everything is true," he said. "Everything anybody has ever thought." この記事は ABEJAアドベントカレンダー2023 の 17 日目の記事です。 こんにちは。システム開発部の石川 (@ishikawa) です。昨年のいまごろは Objective-C ばかり書いていましたが、今年は念願の Swift で QR コードリーダーを書き直したり、React Native の C++ コードをデバッガで追いかけて不思議なバグの修正をした年でした。 react-native で 196,607 回 fetch() すると通信できなくなるバグを直した https://t.co/lvNC3PL85b— takanori_is (@takanori_is) 2023年9月21日 普段の業務では TypeScriptGo、Pyt

    GitHub Copilot はどのようにして空気を読むか? - ABEJA Tech Blog
  • LangChainを使わない - ABEJA Tech Blog

    TL; DR LangChainのメリデメを整理する過程で、今となってはopenai-pythonのうちChatGPTAPIをを簡単に取り回せる程度のシンプルなライブラリがあるだけでも十分便利なんじゃないかと思ったので、ライブラリを個人で作ってみました。(バージョン0.0.1なのでちょっとお粗末な所もありますが) github.com はじめに こんにちは、データサイエンティストの坂元です。ABEJAアドベントカレンダーの13日目の記事です。世は大LLM時代ということで、ありがたいことにABEJAでも複数のLLMプロジェクトを推進させて頂いています。私自身もいくつかのLLMプロジェクトに参画しています。LLMといえばLangChainが便利ですね。OpenAI APIの利用だけでなく、各種ドキュメントのパースが出来たり、HuggingFaceやインデックスDBを扱う他のライブラリとインテ

    LangChainを使わない - ABEJA Tech Blog
  • 外部データをRetrievalしてLLM活用する上での課題と対策案 - ABEJA Tech Blog

    はじめに ABEJAでデータサイエンティストをしている服部です。 今回はLLMで外部データを使うケースについてのお話をしたいと思います。 はじめに LLMと外部データの利用 RetrievalとLLM 0. (事前準備)参照したいテキストデータをDBに格納 1. ユーザの入力文とのテキスト類似度を計算して、関連テキストを抽出する(Retrieval) 2. 関連テキストをLLMのプロンプトに入れ込み、ユーザの入力文に回答する。 Retrieval時の課題 LangChainでの用意 Case1: それぞれの文章がRetrievalしにくい形で保存されている 対策案: ページ構造を意識した形で各文章を格納する 他の対策案 聞き方を明確にする 類似度を測るクエリ文章を置き換える 不要そうな文章をデータから削除する データ自体をLLMで整形し直す Case2: 未知の単語を含む 仮説: ニャオハ

    外部データをRetrievalしてLLM活用する上での課題と対策案 - ABEJA Tech Blog
  • 2022年AI倫理ニュースベスト10 - ABEJA Tech Blog

    記事はABEJAアドベントカレンダー2022の16日目の記事です! 日の担当は、法務・AI倫理関係を担当している古川です。12年ほど弁護士をしていまして、途中で機械学習をやってみたくなり数学から統計から機械学習の勉強をして(PRMLとかカステラとか読みました!)、Pythonも勉強をして、ある会社で画像解析AIの実装をしていたのですが、現在は法律・倫理関係業務だけ扱っています。 AI倫理・ガバナンス関係の記事を毎年書いているので、今年もその路線で行きます。テーマは「行く年くる年」。このテーマなら毎年書けますしね。まあ、「くる年」の議論はしませんので、厳密には「行く年」だけで2022年の振り返りでしかないのですが・・・ では、ランキング形式で2022年のAI倫理関係のニュースを振り返ります。ランキング形式が人気らしいのでランキング形式なだけで、別に1位だとか2位という順位に大した意味は

    2022年AI倫理ニュースベスト10 - ABEJA Tech Blog
  • オフィスDXを支える技術2022年版(チャットツール連携編) - ABEJA Tech Blog

    ABEJA Advent Calendar 2022 11日目の記事です。昨日は服部さんの夫婦で納得の土地探しをするためにLINE Bot作ったりデータサイエンスした話でした。 はじめに こんにちは、こんばんは、おはようございます、エンジニアの小笠原(@seiro-ogasawara)です。 去年の Advent Calendar で @toshitanian がオフィスDXを支える技術(バックエンド編)という記事を書いていましたが、記事はそれの2022年版です。5日の記事で石川 (@ishikawa) がフロントエンド、というかネイティブアプリの機能紹介を行っているので、興味のある方はそちらもご覧ください。 この記事では、今年 Bizflex システムに追加した機能のうち、チャットツール連携機能、なかでも、(1) ゲスト来館時通知 (2) 勤怠サービス連携 についてご紹介します。 (ち

    オフィスDXを支える技術2022年版(チャットツール連携編) - ABEJA Tech Blog
  • 掃除ロボットをかゆいところまで手の届く仕様に改造する - ABEJA Tech Blog

    はじめに 記事はABEJA Advent Calendar 2022 1目の記事です。 こんにちは、メカやロボットが大好きな栗林です。日ご紹介するのは清掃ロボットの制御システムをRaspberry Piから操作する方法についてです! URYYYYYYYY!! 過去の記事など tech-blog.abeja.asia tech-blog.abeja.asia ※ 例によって、記事でおこなっている清掃ロボットの分解・改造はくれぐれも自己責任でお願いします。記事内容を参考に生じた不具合・損害について、当方は責任を負いかねます。 ※ 間違っても私のように買ったばっかり&愛用している機体で試さない方がよさそうです。 清掃ロボットとは そもそも清掃ロボットとは、人間の代わりに清掃作業をおこなってくれるロボットです。近年さまざまなロボットが登場しており、一般消費者向けだけでなく、オフィスやホテ

    掃除ロボットをかゆいところまで手の届く仕様に改造する - ABEJA Tech Blog
  • ABEJAで作った大規模GPTモデルとその道のり - ABEJA Tech Blog

    1. はじめに 2. そもそもGPTとは?? 3. ABEJAで作ったGPTモデルについて 3.1 モデルサイズ 3.2 データセット Wikipedia CC100 OSCAR mC4 3.3 参考にしたコード 3.4 モデルの学習 せっかくここまで育てたモデルが・・・ 4. 技術的な工夫点 4.1 データセットの前処理 4.2 GPT-neoxの活用 4.3 並列VMでの学習 4.4 モデルアーキテクチャの工夫 5 学習したGPTのアウトプット例 5.1 失敗モデルたちの作品集 5.2 完成モデルの出力例 5.3 少しFine-tuningした結果 6. 最後に 6.1 採用メッセージ 6.2 ABEJAで学習したGPTモデルの今後について 1. はじめに こんにちは、ABEJAの服部です。昨日、ABEJAが主催しているABEJA SIX2022でも発表がありましたが、NVIDIA社の

    ABEJAで作った大規模GPTモデルとその道のり - ABEJA Tech Blog
  • 実務で必須!2変数の関連性を正しく評価できるよう関連知識をまとめてみた - ABEJA Tech Blog

    こんにちは、ABEJAの真壁孝嘉(@Takayoshi_ma)です。変数Aと変数Bにどれくらいの関連性があるの?このデータから何が言える?みたいなニーズって至る所にあるかと思います。その時に活用される様々な数学的指標たち、(自分含め)名前を知ってるだけだと危険だよなあって場面が近頃多い気がしたので、改めてメモ的な意味でブログを書いてみました。前半に(ピアソンの積率)相関係数に関する注意点を列挙したのち、後半にそれ以外の数学的指標の概要を列挙していこうと思います。 尚、このブログで度々登場する相関係数とはピアソンの積率相関係数を表すこととします。 相関係数の注意点 相関係数の概要 相関関係と因果関係は異なる概念 無相関であることと、独立であることは異なる概念 相関係数は外れ値に影響されやすい 選抜効果 相関係数の標準誤差 標相関係数は母相関係数の不偏推定量ではない 2つの指標の関連度を測る

    実務で必須!2変数の関連性を正しく評価できるよう関連知識をまとめてみた - ABEJA Tech Blog
  • Grad-CAMだけじゃない画像認識におけるCAM手法を徹底解説 - ABEJA Tech Blog

    長期インターン生の木村です。 今回、以前から興味を持っていた画像認識モデルにおける説明可能なAIのクラス活性化マッピング手法を調査してみました。 説明可能なAIとは 近年、深層学習ベースの画像認識モデルは製造業、医療、自動運転など至る場面で社会実装が進められていますが、ディープなラーニングを行っているだけに推論の判断根拠を人間が解釈できない問題があります。医療、自動運転のような命に関わる領域では安全性や公平性を担保できないために安心して導入できません。 このような問題を解決するのが「説明可能なAI(XAI)」です。 「説明可能なAI(XAI)」は、AIの推論結果を人間が解釈可能な形で出力する技術を指します。例えば、犬とが映っている画像を画像分類するAIが犬と推論した場合、モデルがどこを判断根拠としているかをヒートマップで可視化します。このヒートマップは、「顕著性マップ」と呼ばれます。 画

    Grad-CAMだけじゃない画像認識におけるCAM手法を徹底解説 - ABEJA Tech Blog
  • ABEJA Insight for Retailの技術スタックを公開します (2021年10月版) - ABEJA Tech Blog

    初めに 会社・事業紹介 ABEJA Insight for Retailについて 技術スタック 全体アーキテクチャ図 ① 映像録画・解析システム ②データ基盤部分 ③ Webダッシュボード その他 (全体共通部分) 一緒に働く仲間を募集中! 最後に 初めに こんにちわ。大田黒(おおたぐろ)です。暑い日が落ち着いてきて、秋(冬?)が来たなぁと感じるこの頃です。皆様いかがおすごしでしょうか。前回の「ABEJAの技術スタックを公開します (2019年11月版)」が公開されてからしばらく経ちました。 引き続きエンジニアの方とお話させていただく中で、 「ABEJAってよく聞くけど...実際どんなことやってるのかよくわからない」 「AIのお硬いSIerって感じなんでしょ?」 「社内は機械学習エンジニアばっかりなんでしょ...??」 といったご質問をいただくことが多いです。 今回の記事では、最新の会社や

    ABEJA Insight for Retailの技術スタックを公開します (2021年10月版) - ABEJA Tech Blog
  • 数千人規模の自社イベントで顔認証活用サービスを作ってデリバリーした話 (ABECOIN) - ABEJA Tech Blog

    はじめに こんにちは、ABEJAの大田黒(おおたぐろ)です。最近は、一ヶ月100kmを目標にランニングしたり、POとユカイな仲間たちと一緒に小売店舗向けのIoTxAI活用サービスの開発を進めているエンジニアです。前回の記事からだいぶ間が空いてしまいましたが、久しぶりにTech Blogを執筆しようと思います! ちなみに前回は、IoTを活用したインフルエンザ注意報を作って社内展開をしていた様子等を書いてました。 tech-blog.abeja.asia 今私は、小売店舗向けのIoTxAI活用サービス であるABEJA Insight for retailの開発チームリーダーをさせていただいております。先日、我々のチームで研究&開発している技術を活用し、顔認証でマイニング&簡易決済が可能な仮想コイン(仮想通貨ではない)を個人の冬休みの自由研究として作りました。(詳しいコンセプトや仕組みは後述し

    数千人規模の自社イベントで顔認証活用サービスを作ってデリバリーした話 (ABECOIN) - ABEJA Tech Blog
  • ノイズのある教師データを用いた機械学習に関する研究サーベイ - ABEJA Tech Blog

    こんにちは、Research Internの荒尾(@karolis_ml)です。 日進月歩の勢いで研究が進んでいる深層学習ですが、教師あり学習でもっとも大事なデータのアノテーション、応用分野ではまだまだ大変ですよね。例えば、犬の写真から犬種を判断する分類器を作ろうとして教師データが必要になったとき、あなたは以下の画像にどんなラベルをつけるでしょうか? 出典: Pixabay 犬好きの方は正しくアラスカンマラミュート、そうではない方は似た有名犬種であるシベリアンハスキーと答えられたことでしょう。マラミュートの茶色い目(かわいい)や小さめの尖った耳(かわいい)を見分けて正しくラベル付けをするのは、決して簡単ではありません。 このようなアノテーションの分野に関して当ブログでは以前、Bounding BoxやSegmentationの効率化についての研究サーベイを行いましたが、この犬種分類のような

    ノイズのある教師データを用いた機械学習に関する研究サーベイ - ABEJA Tech Blog
  • KDD 2018 に参加してきました - ABEJA Tech Blog

    ABEJAでResearcherをしている白川です。 8/19-23にロンドンで開催されたKDD 2018に参加してきたので、目についた内容をかいつまんで報告させていただこうと思います。 とくに目についたこと 中国系の台頭が目覚ましい。参加者、企業ともに中国系が支配的で、かなりアグレッシブに機械学習データ分析をビジネスに取り込んでいる印象。 Graph + Deep Learningが着実に使われ始めている。Deep系の発表でGraph CNNの話をちょくちょく聞いた。 Finance / Economics の分野に対する注目。 シェアバイクサービスやAirBnBの部屋貸しサービスような新しいビジネスにおけるデータ分析。 新しく使われ始めたテクニックはあまりなさそう。 特徴量エンジニアリングをして正攻法で攻めるのはやはり大事。 NVIDIA, Intel, Twitter, Apple

    KDD 2018 に参加してきました - ABEJA Tech Blog
  • より良い機械学習のためのアノテーションの機械学習 - ABEJA Tech Blog

    ABEJAでリサーチャーをしている白川です。 皆さん、アノテーションしていますか? 私はしています。アノテーション、自分でやるのは大変ですよね。 AIというとモデルの学習に注目されがちですが、もしかしたら、アノテーションはAI開発においてモデル開発以上に重要で注意の必要なプロセスかもしれません。今回はなぜアノテーションがそれほど重要なのか、良いアノテーションとはどのようなアノテーションなのかについて、機械学習的にアプローチしてみたいと思います。 アノテーションを機械学習で解析するの、楽しいですよ。 なお、記事に関連して、2018年7月1日に開催されるccse2018というカンファレンスでもお話させていただく予定です。記事内では触れられなかった内容についてもお話させていただくかもしれないので、ご興味ある方はチェックしてみてください。 この記事を読むとわかること アノテーションはAIの開発・

    より良い機械学習のためのアノテーションの機械学習 - ABEJA Tech Blog
  • ABEJAリブランディングのデザインプロセス - ABEJA Arts Blog

    おひさしぶりです。骨とワニが好きなデザイナー兼アートディレクターの吹上(@takana8)です🐊 去る2月22日、ABEJAは大規模AIカンファレンス「SIX 2018」を開催し、その基調講演でコーポレート・リブランディングを発表しました。 記事では、この発表に至るまでのブランディングプロジェクトの「舞台裏」を、アートディレクターの視点からご紹介します。 1. ブランディングプロジェクト、はじまる ブランディングプロジェクトのはじまりは、2016年の秋に遡ります。 当時はまだ正式なプロジェクトではなく、チームもない(社内に専任デザイナーは1人だけ)、まさに暗中模索な日々😎 絶えず発生する様々なデザイン業務と並行しながら、まずは「現状整理」を粛々と行っていました。経営陣へヒアリングしたり、社内外に散らばった制作物をかき集めたり、「ABEJAをとりまく環境」や「ABEJAらしさとは何か」

    ABEJAリブランディングのデザインプロセス - ABEJA Arts Blog
  • serverlessで作る外形監視 - ABEJA Tech Blog

    エンジニアの鎗水です。 ABEJA Platformの機能は様々なAPIによって支えられています。 今回はそれらのAPIに対し行っている外形監視について紹介します。 今回紹介する外形監視は、ユーザーの利用シナリオに沿って行われます。 ABEJA Platform上の特定のresourceの作成、更新、削除といった一連の作業をユーザーが正しく行えるかという視点でテストを行います。 1. 構成 AWS Step Functions AWS Step Functionsは、複数のLambdaを組み合わせてワークフローを組むことができるサービスです。 ワークフローはAmazon States LanguageというDSLを使って記述し、実行するLambdaの定義やLambdaのリトライ、Lambda間の遷移条件や待ち時間などを設定することができます。 Serverless Serverless F

    serverlessで作る外形監視 - ABEJA Tech Blog
  • Kubernetes x AWS x GPUにハマった話 - ABEJA Tech Blog

    tl;dr 長文なので3行で kubernetesAWSGPUは超える壁が多かった。やるならkubeadmがオススメ。 kubeadmでcloud-provider=awsの手順を後半に記載 はじめに ABEJAのサービス系インフラを管理しているインフラエンジニアの村主です。 コンテナ周りは割とECSを中心に組むことが多かったのですが、あれだけkubernetesが持ち上げられると使ってみないとな。と言うことで、新しく追加する機能はkubernetesで開発することにしました。そこにkubernetesがあったから kubernetesAWSGPU を組み合わせた時にすごくハマりどころが多かったので、ここに奮闘記を記載します。 まず、kubernetesを構築するためのプロビジョニングツールを何にしようか。と言うことで、特徴を知らないと工夫も出来ないので色々触ってみました。 1.

    Kubernetes x AWS x GPUにハマった話 - ABEJA Tech Blog
  • deep learning machine learning nips2017 - ABEJA Tech Blog

    ABEJAの白川です. 先日カリフォルニアのロングビーチで開かれたNIPS2017へ出席してきました. 論文レベルの技術的な話題については1月にNIPS論文読み会を開催する予定ですので詳細はそちらに譲ることにして,ここではごくごく大雑把なオーバービューを私見偏見交えてご紹介したいと思います.パラレルトラックのため聴講できなかった講演がだいぶありますので,かなり聴講バイアスがかかっていることをご容赦ください.また,新しめの流行にフォーカスしています. Summary 史上最大規模のNIPSだった Bayesian Deep Learningが非常に流行っていた Optimal Transportは実用的な道具 Meta Learningが流行している 非ユークリッド的なDeep Learningに対する注目 史上最大規模のNIPS 今回のNIPSは参加者数7844人,投稿された論文数は324

    deep learning machine learning nips2017 - ABEJA Tech Blog