SpiralAIテックブログのフィード

https://zenn.dev/p/spiralai

実在する芸能人との会話ができる日本初のAIサービス「NaomiAI」やカスタムChatGPTを作れる「Spiralbot」を提供するSpiralAI株式会社のテックブログです。

フィード

記事のアイキャッチ画像
【Python】PrefectでSLURMのジョブを管理する〜HPC環境での機械学習ワークフロー構築に向けて〜
SpiralAIテックブログのフィード
はじめにこんにちは。わいけい(@yk_llm_gpt)です。今回はMLOpsの話題です。より正確に言うと、オンプレ環境のMLにおける学習部分の管理がテーマです。私はもともとWeb系のバックエンドエンジニアをしていますが、最近、MLOps周りのタスクを業務内で行う機会が増えてきました。例えば、SSHで自社サーバー(NVIDIAのDGXサーバーです)内に入り、その中で機械学習ワークフロー構築をする、といった業務です。しかし、以下のような事情により、初めはとっつきづらかったです。そもそも私はスーパーコンピューターを始めとするHPC環境での開発経験があまりなかったML領域で...
2ヶ月前
記事のアイキャッチ画像
ローカルの PostgreSQL コンテナでスロークエリを発見する方法
SpiralAIテックブログのフィード
こんにちは。わいけいです。今回はローカル環境で DB に対して発行されているスロークエリを発見する手順について書いていきたいと思います。アプリケーションが育ってくると、サーバーのパフォーマンスのボトルネックになりやすいのが DB です。クラウドが浸透した現在では、アプリケーションサーバーの方はお金さえ払えば比較的自由に(水平・垂直に)スケーリングできます。これに対して、RDB の方は相対的にスケーリングが難しい傾向にあります。(クラウドのパワーによって金でゴリ押し可能な面が増えてきてはいますが)そういった背景から、極力非効率な SQL は投げたくないものです。とはいえ、現実的...
5ヶ月前
記事のアイキャッチ画像
transformersでのモデルの学習状況をSlackに通知する
SpiralAIテックブログのフィード
どうも、SpiralAIの@ksterxです。みなさんは、モデルの学習を行う時、なんのライブラリを使用して学習していますでしょうか?自分自身は、なんだかんだpytorch lightningを使っている時期が長かったのかなと思いますが、最近は言語系を触っていることもあり、🤗transformersを使用する機会が多いです。(megatronやllama-factoryに浮気したい気もしていますが、、、)🤗Hugging Face Hubにある多くのモデルが、🤗transformersを使用してロード、推論が簡単に行えます。また、🤗transformersは比較的新しい論文のアルゴリズ...
6ヶ月前
記事のアイキャッチ画像
【初心者向け】Stripeでクレカ登録・決済・削除を実装する【Python, Go, Javascript】
SpiralAIテックブログのフィード
こんにちは、わいけいです。今回の記事ではStripeを使ってクレジットカード決済を実装します。 前置き開発規模の大小を問わず、実装したプロダクトで収益を得るにはユーザーからお金を払ってもらう必要があります。しかし、決済の仕組みを自分たちで実装するのは色々な困難が伴います。キャッシュレス決済といえばクレジットカードですが、クレカ決済の実装には例えば下記のような課題があります。実装ミスなどで、ユーザーのクレカ情報が流出すると大事故になるPCI DSSというセキュリティ要件を守り、決済ブランドの審査に通過するには莫大なコストがかかる結論として、個人や小規模な企業がクレカ決...
8ヶ月前
記事のアイキャッチ画像
RetNet入門
SpiralAIテックブログのフィード
どうも、スプラで見かけた「ふくやまはさまる」のネーミングセンスに感服した@ksterxです。Claude OpusさんやChatGPT大先生にこの意味をご説明願ったら、頓珍漢な答えが返ってきました。この辺が解せるようになったらAGIであるとかなんとか。 はじめに前置きはさておき、近年、自然言語処理(NLP)の分野は、ディープラーニングの進化とともに大きく変化しています。初期の深層学習アプローチではリカレントニューラルネットワーク(RNN)に焦点を当てていましたが、2017年の「Attention Is All You Need」という論文の登場により、それまでのアーキテクチャとは...
8ヶ月前
記事のアイキャッチ画像
FastAPIの認証(HTTPBearer)を開発環境でのみバイパスする
SpiralAIテックブログのフィード
こんにちは、わいけい です。突然ですが、私は日々FastAPIを使った開発をしているのですが認証周りで時々面倒を感じることがあります。それは、せっかくFastAPIがOpenAPI形式の動的ドキュメント(Swagger UI)を自動生成してくれているのにも関わらず、ログインが必要なエンドポイントに関しては毎度認証トークンを取得しないと叩くことが出来ないということです。セキュリティ上「まあ、それはそうだよね」という話ではあります。 が、ローカルでコンテナ立てて開発しているときには地味に面倒なのもまた事実です。長期的に開発を続ける想定であれば、開発チーム全体で何千回もローカル環境...
9ヶ月前
記事のアイキャッチ画像
Slackで独自カスタマイズしたAIと会話してみた〜Lambda(AWS)とPython使用編〜
SpiralAIテックブログのフィード
はじめにLLMの進歩著しい昨今、AIを使ってキャラクターとの会話ができるサービスも数多く出てきました。今回の記事では、Spiral.AI株式会社のTwinRoomというサービスを使い、Slackで独自カスタマイズしたAIと簡単に会話してみます。この記事で紹介する機能を活用すれば、開発者・企業独自のアプリケーションやサービスに独自カスタマイズしたAIキャラクターを簡単に組み込むことができます。一例として、今回は自分たちで作ったAIキャラをTwinRoomのAPI経由でSlackに登場させて、会話させてみます。記事監修: わいけい(@yk_llm_gpt)https://ze...
9ヶ月前
記事のアイキャッチ画像
LLMの迷宮を辿る:オープンソースLLMおよびその先に関する包括的ガイド
SpiralAIテックブログのフィード
こんにちは、@raksparadoxです。AIの開発速度が非常に速いため、全てのトレンドを追いかけることはほぼ不可能に思えます。数十の新しいオープンソースの基盤モデルがあり、さらにこれらのモデルを基にして、マージング、ファインチューニング、コンテキスト拡張など様々な技術を用いて数千の洗練されたバージョンが構築されています。Hugging Face、オープンソースモデルのハブでは、現在500,000以上のモデルをホストしています!この記事では、次に「Goliath-longLORA-120b-rope8–32k-fp16-GPTQ」のようなものに出会ったとき、その特徴を理解できるように...
10ヶ月前
記事のアイキャッチ画像
エンジニアリング・マネージャーの仕事を経験してモノの見え方が変わった話
SpiralAIテックブログのフィード
こんにちは。わいけいです。最近エンジニアとしてマネージング寄りの業務をすることが増えてきました。今回の記事では、その中で自分の考え方がどう変わってきたかをメモしておきます。私の場合は、まずフリーランスエンジニアとしてこの業界に入ってきました。それもあって、今までは基本的にあくまで「良いコードを書く」ことが仕事であり目標でした。以前からいわゆる上流工程にも全く興味関心がなかった訳ではありません。しかし、これまで私が経験したのはシステムの要件定義(ビジネス的な視点も含む)は社員が行うフリーランスは(やったとしても)技術的な設計のみ担当するという切り分けの現場が多かったん...
10ヶ月前
記事のアイキャッチ画像
shadcn/uiでもChakra UIみたいなStackコンポーネントが使いたい
SpiralAIテックブログのフィード
こんにちは Spiral.AI株式会社というスタートアップでアプリケーションエンジニアをしている@hndrです。普段はフロントエンド/デザイン周りのエンジニアをしています。Flutterの記事は年1ぐらいでZennにあげていたのですが、本業のフロントエンドの記事は初めてなのでちょっと緊張しております。 はじめにshadcn/uiはスタイルのついていないHeadlessなUIライブラリであるRadix PrimitivesにTailwind CSSでスタイリングしたReactコンポーネントのテンプレート集です。[1]基本的にスタイリングはTailwind CSSのutilityC...
1年前
記事のアイキャッチ画像
Mistral-adapter
SpiralAIテックブログのフィード
はじめにこんにちは、@raksparadoxです。今日はSpiral.AI株式会社のエンジニアブログとして、Mistralモデル にllama-adapter ファインチュニングしていきたいと思います。Mistralモデルは、2023年9月にMistral AIによってリリースされた強力な言語モデルです。これは、多くのタスクでLlama13bのようなより大きなモデルを上回る、SOTAの7bモデルでした。後に、Stability AIは同じモデルの日本語指示にファインチューニングされたバージョンであるjapanese-stablelm-instruct-gamma-7bをリリース...
1年前
記事のアイキャッチ画像
GPT連携アプリ開発時の必須知識、RAGをゼロから解説する。概要&Pythonコード例
SpiralAIテックブログのフィード
こんにちは。わいけいです。今回の記事では、生成AI界隈ではかなり浸透している RAG について改めて解説していきます。「低予算で言語モデルを使ったアプリを開発したい」というときに真っ先に選択肢に上がるRAGですが、私自身もRAGを使ったアプリケーションの実装を業務の中で何度も行ってきました。今回はその知見をシェア出来れば幸いです。 RAG(Retrieval-Augmented Generation)とはまず、 そもそもRAGとは何ぞや? というところから見ていきましょう。RAG(Retrieval-Augmented Generation) は自然言語処理(NLP)と特に...
1年前
記事のアイキャッチ画像
AWS RDS Aurora Serverless v1からv2へ移行したので手順メモ
SpiralAIテックブログのフィード
こんにちは。バックエンドエンジニアの わいけいです。今回、業務の中でAWS RDS Serverless v1からv2へのアップグレードを行ったのでその備忘録です。DBに大きな更新が生じるときは、サービスへの影響度が大きくうっかりミスが致命的な損失を生むこともあります。かなりドキドキしながらの作業でした。 Serverless v2へのアップグレードが必要になった背景 Serverless v1のサポートが2024年で終了きっかけはAWSから以下のようなメールが送られてきたことでした。差出人: "Amazon Web Services, Inc." no-reply-...
1年前
記事のアイキャッチ画像
transformersで特定の文字列が出力されたときに生成を止めたい
SpiralAIテックブログのフィード
どうも、@ksterxです。現在はSpiralAIという会社でインターンをしています。いきなりですが、みなさんはモデルの生成で次のような事象を経験したことはないでしょうか?###質問:富士山の高さは?###回答:3776 m###追加の質問:では、エベレスト山の高さは?本当は###質問:富士山の高さは?###回答:3776 mと回答してほしいだけなのに、、、毎回、「###」で始まるなにかを出力するんだよなあ、、、そこで今回は、Transformersを使ったテキスト生成で、特定の文字列(###とか)が出力された際に、生成を停止する方法について話したい...
1年前