2023/11 2週目
Rust
- Pursuit of Performance on Building a JavaScript Compiler
- JavaScriptコンパイラでのパフォーマンス改善の話
コンテナ
- Docker Desktop、Appleシリコン上でx86-64バイナリをほぼネイティブな速度で実行可能にする「Rosetta for Linux」が正式版に
- https://x.com/toricls/status/1721877821872873533?s=20
コンテナイメージの lazy loading について解説してくれているツイート
詳細
超絶ざっくり書くと、以下のような感じです! (当たり前すぎる話を書いていたり雑すぎて正確性が足りなかったりするところも一部ありますがご容赦ください🙇♂️)
コンテナイメージの lazy loading について ・普通にコンテナを実行しようとするとコンテナイメージをダウンロード → 実行という流れになるんですが、これはつまりダウンロードが完了するまでの時間は完全に「待ち」の時間になる ・これはつまりコンテナイメージのダウンロード時間に応じてコンテナの起動までの時間が長くなることを意味するのですが、例えばコンテナがクラッシュした!再起動だ!イメージのダウンロードだ!となると、イメージサイズが大きければ大きいほどダウンタイムが長時間化することが予想されます (Fargate のようなコンテナイメージのキャッシュが存在しない実行環境だと余計に) ・ここであらためてコンテナイメージとはなんだったかを振り返ると、コンテナイメージは「それぞれがファイルを含んだレイヤー」が重なった構造になっているので、つまりコンテナイメージのダウンロードとは、レイヤーをそれぞれダウンロードしてきてローカルでがっちゃんこしているという処理を意味します ・であれば、まずはコンテナの実行に最低限必要となるレイヤーだけをダウンロードしてきた上でコンテナを実行し、残りのレイヤーのダウンロードは必要になるタイミングまで先送りする(=lazy loading)すれば、大きなサイズのコンテナイメージでもダウンロード時間からくる起動待ち時間というペナルティを最小化できるのでは、というのがコンテナイメージの lazy loading の基本的なアイデアです
ECS/Fargate におけるこれまでの lazy loading について ・ではどんなイメージでもそのまま lazy loading ができるのかというとそんなこともなくて、どのファイルがどのレイヤーに含まれているかをコンテナランタイムに教えてあげるための「インデックス」を事前に作っておいてあげる必要があります ・ECS/Fargate では、「SOCI インデックス」というインデックスを利用した lazy loading をサポートしています ・で、ECS ではタスク定義に複数のコンテナを含める(e.g. アプリケーションコンテナ + ログ用コンテナ + メトリクス用コンテナ、とか)ことができますが、これまでは「lazy loading を使いたい場合には、タスク定義に含まれる『すべての』コンテナイメージについて、SOCI インデックスを事前に作っておいてね」という仕様でした ・これの何が困るかと言うと、単に事前に全部のインデックス作るのでめんどくさいよねということに加えて、例えば小さなコンテナイメージで lazy loading されてしまうと逆に起動が遅くなるようなケースで悲しい気持ちになったりします ・ので、タスク定義に含まれる複数のコンテナイメージのうち、lazy loading する意味があるものだけを lazy loading したいぜというのが自然なニーズとして登場します
今回のリリース内容について ・で、今回のリリースで何が変わったのかというと、これまでの「lazy loading をしたい場合はタスク定義に含まれるすべてのコンテナイメージの SOCI インデックスが必要です(、つまり1つでも lazy loading したいコンテナイメージがある場合は、結果として望む望まないに関係なくタスク定義に含まれるすべてのコンテナイメージについて必ず lazy loading する必要があります)」という制約がなくなり、「lazy loading したいコンテナイメージの SOCI インデックスだけ用意していれば、タスク定義の中で SOCI インデックスが用意されているコンテナイメージは lazy loading するけど、SOCI インデックスが用意されていないコンテナイメージについては普通にダウンロードして起動するよ」、みたいな挙動になりました!(わーい)
https://github.com/containerd/stargz-snapshotter
- lazy pulling のプラグインらしい
- lazy loading と pulling の違いなどについて一度整理したい
AI
- AIを使って画質を良くしてくれるやつ
プロンプトの詳細
ホームページ自動作成プロンプト公開
文書生成は、段階的に出力すると、
高い精度で文字数多めで出力されます。
それを使って、作りました。
七里式の裏技はこちら
本当は公開するつもりなかったのですが、
最近、X(Twitter)でプロンプトを公開してないので公開!
下記が、そのプロンプトです。
■■■ここから■■■
#前提条件: ・タイトル: 会社情報の効率的な抽出と整理を目指すコーポレートサイト制作 ・依頼者条件: コーポレートサイト制作において、テキストから会社の情報を効率的に抽出し整理したいと願っている人。 ・制作者条件: テキストの解析と情報の整理に関するスキルを持ち、データ抽出ツールを適切に利用できる人。 ・目的と目標: コーポレートサイトの制作に必要な会社情報を、テキストから正確かつ効率的に抽出し、利用しやすい形に整理すること。 ・リソース: 会社情報の含まれるテキストとデータ抽出・解析ツール。 ・評価基準: 抽出された会社情報が完全で正確であり、効率的に整理されていること。 ・明確化の要件:
- 使用するテキスト情報とデータ抽出ツールを特定する。
- 必要な会社情報の項目を明確に定義する。
- データ抽出ツールを使用して情報を抽出し、定義した項目に従って整理する。
- 最終的な出力が評価基準を満たしているか確認する。
テキスト情報=" 会社および商品情報。 "
実行:
{テキスト情報}を元に、コーポレートサイトを作成するさいに必要な情報として、 企業の事業内容のみ、書き出してください。 企業がどのような業務を行っているか、その範囲と特徴を明確にします。
フォーマット例:
企業の事業内容:
■■■おわり■■■
で!!!!!!!!
ここからが、秘密なのですが、
実行命令を一回づつ変えて、出力するのがコツ
下記がその一覧です。
これが、分割して出力する七里式の裏技の一つです。
■■■裏技一覧■■■
実行:
{テキスト情報}から会社のコーポレートサイトを作るさいに必要な情報として、 会社の名前のみ抽出し明確化してください。
フォーマット例:
会社名:
実行:
{テキスト情報}を元に、コーポレートサイトを作成するさいに必要な情報として、 企業の事業内容のみ、書き出してください。 企業がどのような業務を行っているか、その範囲と特徴を明確にします。
フォーマット例:
企業の事業内容:
実行:
{テキスト情報}から会社のコーポレートサイトを作るために必要な情報として、 会社のビジョン・ミッション・パッションを書き出してください。 会社の目指す方向性や価値観を明確にします。
フォーマット例:
会社のビジョン: 会社のミッション: 会社のパッション:
実行:
{テキスト情報}から会社のコーポレートサイトを作るために必要な情報として、 代表者メッセージを書き出してください。 代表者の思いやビジョンを抽出し明確化してください。
フォーマット例:
代表者メッセージ:
実行:
{テキスト情報}から会社のコーポレートサイトを作るために必要な情報として、 会社の歴史・沿革を書き出してください。 成長の過程や歩みを抽出し明確化にします。
フォーマット例:
会社の歴史・沿革:
実行:
{テキスト情報}から会社のコーポレートサイトを作るために必要な情報として、 企業文化・働く環境を書き出してください。 社員の声や職場の雰囲気を抽し明確化してください。
フォーマット例:
企業文化・働く環境:
実行:
{テキスト情報}から会社のコーポレートサイトを作るために必要な情報として、 受賞歴・認定を書き出してください。 企業の実力や信頼性を証明する情報を抽出し明確化してください。
フォーマット例:
受賞歴・認定:
実行:
{テキスト情報}から会社のコーポレートサイトを作るために必要な情報として、 提供製品・サービスの実績を書き出してください。 成功事例や導入企業などを抽出し明確化してください。
フォーマット例:
提供製品・サービスの実績:
実行:
{テキスト情報}から会社のコーポレートサイトを作るために必要な情報として、 アクセスマップ・交通アクセスを書き出してください。 訪問する際の参考情報を抽出し明確化してください。
フォーマット例:
アクセスマップ・交通アクセス:
実行:
{テキスト情報}から会社のコーポレートサイトを作るために必要な情報として、 企業理念・価値観を書き出してください。 企業の根底にある思いや信念を抽出し明確化してください。
フォーマット例:
企業理念・価値観:
実行:
{テキスト情報}から会社のコーポレートサイトを作るために必要な情報として、 技術・研究開発の詳細を書き出してください。 革新性や専門性を訴求するための情報を抽出し明確化してください。
フォーマット例:
技術・研究開発の詳細:
実行:
{テキスト情報}から会社のコーポレートサイトを作るために必要な情報として、 商品・サービス名を書き出してください。 何を売っているのかを一目で理解できるような名称を抽出し明確化してください。
フォーマット例:
商品・サービス名:
実行:
{テキスト情報}から会社のコーポレートサイトを作るために必要な情報として、 商品・サービスの概要を書き出してください。 サービスの核となる内容や、何を解決するのかを抽出し明確化してください。
フォーマット例:
商品・サービスの概要:
実行:
{テキスト情報}から会社のコーポレートサイトを作るために必要な情報として、 特長・強みを書き出してください。 他社の類似商品やサービスと比較しての利点やユニークな特徴を抽出し明確化してください。
フォーマット例:
特長・強み:
実行:
{テキスト情報}から会社のコーポレートサイトを作るために必要な情報として、 利用シーンや具体的な使用例を書き出してください。 具体的な使用例やケーススタディを抽出し明確化してください。
フォーマット例:
利用シーンや具体的な使用例:
実行:
{テキスト情報}から会社のコーポレートサイトを作るために必要な情報として、 成果・実績を書き出してください。 どれだけの人が利用しているのか、具体的な成功事例や数値データを抽出し明確化してください。
フォーマット例:
成果・実績:
■■■おわり■■■
例えば、このプロンプトの使い方は、
入力情報は、ごちゃごちゃでいいです。
ラッキーなことに、今回、 ChatGPT turbo、128Kがリリース
10万文字以上の処理できます。
なので、必要な情報を、ごちゃごちゃ入れて、
そこから、ホームページに必要な情報を書き出す。
例えば、今回、適当な情報を入れて動かしてみます。
■■■適当な情報■■■
会社名:株式会社 七里システム 業務内容:ChatGPTを社内 会社のビジョンとミッション:ChatGPTを使って。日本を。Ai先進国にする。英語が使えないことが。ネックで世界的に。ええ産業競争力が落ちているけど、ChatGPTは?Aiは日本語で命令することができるので、ここで。ええ強い日本をもう一度取り戻したいというミッションがある。
代表メッセージ:今まで。パソコンインターネットが得意な人が非常に。活躍する時代有利な時代でしたが、ChatGPTに関しては?パソコンやインターネットが不得意な人でも、音声入力や日本語で。Aiに指示をすることにより、aiが成果物を出してくれる。インターネットやパソコンを活用し、できない人でも自分の能力を何倍にも引き上げて。ることができるよう、今までネットパソコンが不得意だった人。こそChatGPTを活用して、自分の能力を最大限活用できるようになってもらいたい。特に女性や年配者の人には非常に有利な状況だと言うのを世の中の人に知ってもらいたいと思って。
会社の歴史:2023年の11月にチャットgptの未来を感じ、日本をAI先進国にすることを目標に創業されました。
企業文化働く環境:チャットGPTというものはAIまだ新しい産業で、日本でまだそんなにし。 豊島線にはチャットgptプロンプトを活用して会社の業務を効率化する。その仕方を教える。 教育。 プロンプトの教育プロンプト提供プロンプトの管理このみっつを。 簡単にできる。 システムwechat gptの総合ツールを。 提供するために生まれた会社です。 そのため。 新しいこと。 研究そういうことか、好きな人たちが集まり、チャットgptを日々研究し日本の。 周りの人に提供する志の高いモチベーションの高いチーム。 そういう目標理念のもとに集まって。 くる、そのような環境です。 ¥
企業理念・価値観:Aiは時代の進化が非常に速いです aiの進歩進化に常に追いつくように 日々研究を重ね世界のaiを日本に根付かせ 日本人を 能力を高め強い日本を取り戻すために日々研究開発をして日本の企業に情報を提供するために最善の 最善の選択やスピード感ある行動をする 常に aiのスピード感に負けないように 努力を続ける というのが企業理念です 価値観としては ユーザーの成長を第一に考えてできるだけわかりやすくちゃんとgptまたはaiプロンプトを教え日々の業務にきちんと役立つツールを提供するように心がける
商品サービス名: ChatGPT総合ツール ”プロンプト学ぶ”
商品サービスの概要:
仕事が、もっと楽になる。
法人・自治体向けChatGPT (商品名)
スタッフ全員がChatGPTの的確な使い方を学習可能。 社内ChatGPTとして独自環境での活用で、 使えば使うほど、組織全体の業務効率化が加速します。
■貴社では、このような問題やお悩みを抱えていないでしょうか?
✅ChatGPTをどう使えばいいかわからない ✅活用ポイントがイマイチわからない ✅組織的にしっかりと活用できるのかが不安 ✅的確なプロンプト(指示文)を書けるスタッフがいない ✅ChatGPTの導入に伴うトレーニング方法がわからない ✅利用状況を一元管理できないので、管理コストが増えそう
ご安心ください。全て解決可能です。
■(商品名)でできること
ChatGPT学習教材: プロンプトを順序建てて学べるため、どなたでも正しい使い方をマスターできます。
アカウントの一元管理: スタッフのアカウントを発行できるため、それぞれでChatGPTの登録は不要です。
利用/学習状況の一元管理: 管理者は個々の状況を確認でき、より効果的な使い方などを提案できます。
すぐに使えるテンプレート: 多くの企業で抱える問題を解決できるプロンプト集がすぐに使用可能です。
プロンプトテンプレ作成: 置換コードを入れた独自プロンプトテンプレートを作成できます。
プロンプトかんたん利用: 置換コードを変更するだけで的確なプロンプトにでき、すぐに利用できます。
並列回答出力で時短: 最大10個まで回答を同時出力が可能。最適な回答をすぐに取得することができます。
プロンプトの社内共有: 作成したプロンプトは、アカウント内で共有が可能。利用者全員がすぐ活用できます。
プロンプトかんたん管理: 作成したプロンプトは部署ごと/カテゴリごとでグルーピングができ、管理が容易です。
■スタッフ全員が効果的にChatGPTを活用できるようになります。
充実したカリキュラム: 第1章から4章まで、ChatGPTの使い方やプロンプトの作成の仕方を動画で丁寧に解説しております。順序建ててコンテンツが構成されているので円滑に学習を進めることができ、教育担当者様の手間を増やすことなく、スタッフ全員がChatGPTを活用できるようになります。
効果的なアウトプット: コンテンツは動画視聴と課題実行を1セットで構成しております。自分の考えや疑問を書き出すことで、学習内容をより深く理解し記憶に残しやすくなります。また、管理者は各スタッフ毎で提出された内容を確認できるので、迅速なフィードバックが可能です。
認定試験で個々のレベルを把握: 認定試験を3段階でご用意しております。1級の合格をすることで回答精度が高いプロンプトを作成できるようになります。学習者は自身の実力を正確に把握し、強みと課題を明確にできます。組織としては一つの評価基準となり、公平性と透明性を確保する助けとなります。
■スタッフ全員がChatGPTから望む結果を得られるようになります。
効果的な対話: ChatGPTとの円滑なコミュニケーションを可能にし、必要な情報を効果的に引き出せます。
対話のコントロール: 対話の進行を調整し、コンテキストを提供して対話を管理できます。
利便性向上: わかりやすいプロンプトで、ChatGPTとスムーズに対話できるようになります。
コンテンツの管理と倫理: 適切なプロンプト設定でコンテンツを制御し、不適切な回答や倫理的な問題を防ぎます。
パフォーマンスの向上: プロンプトの工夫により、ChatGPTのパフォーマンスを向上させ、改善を促進できます。
カスタマイズと応用: ChatGPTを多用途にカスタマイズし、特定のタスクや目的に合った応答を得ることができます。
■導入直後から、すぐに実践へ!使えば使うほど業務効率化が進みます。
すぐに使えるテンプレート: 汎用性の高いプロンプトテンプレート集を搭載し、アカウントをお渡しいたします。そのままでも精度の高い回答を出力できるので、すぐに実際の業務に活用可能です。もちろんテンプレートをベースに独自プロンプトへのカスタマイズも可能です。
プロンプトコード発行で、簡単にカスタマイズできる: 作成済みのプロンプトは「コピー用のコード」が発行でき、プロンプト新規作成時に簡単にコピーすることが可能です。これにより、オリジナルのプロンプトを残したまま、そのプロンプトの精度をさらに上げるためのカスタマイズが簡単に行なえます。
置換コードを入れたプロンプトが簡単に作成できる: プロンプト作成時に「置換コード」を入れることができます。これにより、そのプロンプトを使用する際に特定の情報を差し込むことが可能となり、使用者はプロンプトの書き換えを最小限に抑えることができ、整合性のとれた回答を取得することが可能となります。
独自プロンプトを蓄積、社内で共有できる: 独自プロンプトは「おすすめ」「社内公開」「MYプロンプト」で分類ができ、「部署」「カテゴリー」毎でグルーピングできます。また、キーワード検索で使用したいプロンプトも簡単に検索できるので、社内GPT活用時に必要なプロンプトをすぐに呼び出すことができます。
並列出力で、最適な回答を最短で得られる: 1つの質問に対して回答を最大10個同時に出力できる機能を搭載。これにより迅速な情報収集をすることができ、また、異なる視点や意見を比較することができます。これにより、より幅広い視野で問題を考えることができ創造的なアイデアの発想が促進されます。
トーク履歴の活用で、高精度のプロンプトを作成できる: 管理者は、各スタッフのトーク履歴を出力することが可能です。これにより、利用方法の傾向が確認でき、より高精度にプロンプトを改善することが可能です。また、スタッフのパフォーマンスを評価したり、必要に応じてトレーニングを行ったりすることができます。
■作業時間を削減できる業務の一例
・情報収集 ・文章の要約 ・企画立案 ・書類作成 ・分析 ・戦略立案 ・プロファイル作成 ・コンテンツ作成 ・Todoリスト作成 ・各種メール作成 ・スクリプト作成 ・ロープレ作成
プロンプト次第で、できることは無限に拡がります!
■■■適当な情報 終わり■■■
上記の情報から、
下記の情報を、わずか、数秒で作れます。
■企業の事業内容を取り出すプロンプト実行
株式会社七里システムは、ChatGPTを社内の業務効率化に利用することを専門とする企業です。具体的には、ChatGPTプロンプトを活用して社内業務を効率化する方法の教育、プロンプトの提供、プロンプトの管理といったサービスを提供しています。また、ChatGPTの総合ツール「プロンプト学ぶ」を通じて、法人や自治体に対して、スタッフ全員がChatGPTの的確な使い方を学習できる環境を提供し、組織全体の業務効率化を図る商品サービスを展開しています。これにより、情報収集、文章の要約、企画立案、書類作成など、多岐にわたる業務プロセスの改善をサポートしています。
■会社ビションをを取り出すプロンプト実行
会社のビジョン: 日本をAI先進国に変貌させることで、英語が使えないことがネックとなり世界的な産業競争力が落ちている状況を打破し、再び強い日本を取り戻す。
会社のミッション: ChatGPTというAIツールを使って、日本語での命令を可能とし、パソコンやインターネットが不得意な人々でも、音声入力や日本語でAIに指示をすることにより、AIが成果物を出し、それぞれの能力を何倍にも引き上げることができるようサポートする。
会社のパッション: 特に女性や年配者を含め、インターネットやパソコンが不得意な人々がChatGPTを活用して、自分の能力を最大限に発揮できるようにすること。そして、社会全体がこの新しいツールを利用し、それぞれの場で活躍できる状況を作り出すことに対する情熱。
128Kが扱えるようになって、
プロンプトの作り方が、一気に進化しました。
ChatGPTが書き出す文章は、
プロンプトをしっかりと作れば、もう人間と同等です。
人類の進化曲線が、ついに直角になりました。
下記、私のプロンプトのメモを公開します。
解る人が見ると、面白いと思います。
■ 七里式プロンプトの裏技メモ ■
・箇条書きに番号をつけ例にすると、その先も作る
・文字数指定は”文字”で指示したほうが正確
・大きなフレームワークは人間が作る方がまだいい
・不可能な指示は完全に無視される
・前提条件の設定は強い
・同じ行動の場合は、同じ動詞を使う、違う場合はあえて変える
・先に出力したものに、あとから出力したものは、表示形式がひっぱられる。
・改行やスペースを与えることにより、ステップで動くみたいな行動を取る。
・ステップが複数あるとステップとステップが干渉してうまく動かない。
・すべて書き出してくださいというと、出てくる情報が格段に多くなる。
・大量に出力させてから、一つ選ばせるとクオリティーが良い
・聞いてみる 例 LINE配信システムってなに?
・点数をつけて出力するとプロンプトの精度が上がったのが解る
・大項目はありますか?は大きなカテゴリーの情報を聞き出すのに役立つ
・例は、何回も出力して、一番、ベストな例を設定しなおす
・余計な事は制御する(再確認しない。謝らない。自己言及をしない。
・プロンプトを削ると精度があがる
・まず最初に3.5で叩いてから最終的に4.0を使う。
・名称や設定名は、単語だけで。意味があるものを使う。
・前提条件を。もう一度作り直すといい。
・前提条件の中に変数を入れると効果があがる。
・出力画面の黒いボックスのことはテキストボックスといいます。
・変数名の単語の意味を理解はしない。便利上の名称
・何かわからないことがあったら、どんどんGPTに質問する。
・要約: と最後にいれると、出力分のみでる
・前提条件がない場合、最初に空白があるないで、回答がゆらぐ
・簡単な。指示の場合は?シンプルなプロンプトの方がいい。
・プロンプト複雑にすると精度が落ちる
・出力形式の例を最初の方に提示してはいけない
・step の代わりに、”そして”が有効
・箇条書きに数字は使わない。
・変数を設定した行で、出力と書くと、表示しようとして情報として参照しない
・名詞を変数にすると、出力しちゃう。
・フレームワークをChatGPTに聞いて、そのフレームワークに合わせてものを作ると、クオリティの高いものが作ることができる。