生成AIへのアクセス
ChatGPTやその他の生成型AIの人気の高まりは、企業と社会にとって変革の時代の始まりを示してます。AIと機械学習(ML:Machine Learning)は以前からビジネスの価値を高めてきましたが、大規模言語モデル(LLM:Large language Models)を含む生成型AIの突然の出現は、あらゆる業界に変化の波を起こしています。
大規模言語モデル(LLM)とは、大量のデータとディープラーニング(深層学習)技術によって構築された言語モデルです。言語モデルは文章や単語の出現確率を用いてモデル化したものであり、文章作成などの自然言語処理で用いられています。LLMと従来の言語モデルでは、「データ量」「計算量」「パラメータ量」が大きく異なります。
- データ量:入力される情報量
- 計算量:コンピューターが処理する計算量
- パラメータ量:確率計算に使用される係数量
LLMでは、3つの要素が大幅に増加したことにより、精度が著しく向上しました。LLMは、2017年に発表されたTransformerがきっかけとなって構築されたといわれています。Transformerとは、2017年に発表された”Attention Is All You Need”という自然言語処理に関する論文の中で初めて登場した深層学習モデルです。以前の主流なモデルとは異なり、大幅な学習時間の短縮を実現し、高速でありながらも高い精度を持つ特徴があり、非常に使いやすいものとなっています。Transformerの登場によるブレイクスルーと、マシンパワーの向上によって、より多くのデータをモデルに学習させられるようになったことでLLMは誕生しました。
一方、生成AIは、テキスト・画像・音声などを自律的に生成できるAI技術の総称であり、LLMは生成AIの一部に含まれます。LLMは生成AIの中でも、特に自然言語処理を担うモデルと位置づけられます。
Open AIのChatGPTからAnthropicのClaude、GoogleのBard、MicrosoftのBing AIに至るまで、生成AI分野におけるSaaSの急増に伴い、あらゆる規模の企業がこれらの新しいサービスの利用に関するガイドラインやポリシーの確立を急いでいます。同時に、個人情報の漏洩リスクの軽減、知的財産の保護、潜在的な誤情報や有害なコンテンツへの対処、意図しない著作権侵害の回避といった、まだ生まれたばかりの強力なテクノロジーの影響にも取り組んでいます。
この急速に進化する状況の中で、企業にとって差し迫った問題として浮上しているのが、生成型AIを使用してプライベートデータを安全に、安心に、効果的に使用する方法です。私たちが最近導入した Splashtop Secure Workspaceプラットフォームは、まさにこの分野で役立ちます。
企業向けのプライベートAIモデル
企業向け生成AI SaaSの中には、提出されたデータを公開モデルの改善に使用しないことを誓約しているものもあります。しかし、すべての企業が個人データをクラウドサービスに送信することに抵抗がないわけではありません。一部の組織は、主権と規制の遵守の対象となるため、別の地域や国でホストされているサービスの使用が妨げられる場合があります。
プライベートAIモデルの利点を得る企業には、自社のLLMモデルをゼロからトレーニングする必要がある企業や、特定のタスク向けに事前にトレーニングされたデータで拡張および最適化されたLLMモデルを保護する必要がある企業、例えばカスタマーサポートや財務アドバイザリーを提供する企業などが含まれます。
独自のプライベート生成AIおよび MLOps(Machine Learning Operations)インフラストラクチャを構築している企業は、オンプレミスやプライベートクラウドのいずれであっても、これらのツールの機能を独自のIT管理下に置くことができ、ビジネスニーズ、コンプライアンス、主権要件に対応できます。この設定により、LLMへのクエリのトレーニング、微調整、拡張に使用される機密データが外部に公開されることはありません。
プライベートアプリケーション(大規模言語モデルを含む)へのアクセスの保護
プライベートセットアップにも保護が必要です。言語モデルからサポートするデータベースやプライベートデータリポジトリに至るまで、機械学習の運用パイプラインのすべてに、安全なプロビジョニング、アクセス、管理が必要です。
Chat GPTに情報共有は危険
Chat GPTはさまざまな情報を学習するため、ユーザーが機密性の高い情報を質問すると、それがモデルに取り込まれる可能性があります。したがって、機密情報をChat GPTに問い合わせることは避けるべきです。
Amazonでは、Chat GPTの応答が内部データに類似しているように見える「インスタンス」があったため、従業員に「Amazonの機密情報(作業中のAmazonコードを含む)」を提供しないよう警告しました。
Chat GPTへのインプットは、改善のためにトレーニングデータとして使われるかもしれません。そのため、機密情報やそれに類似した情報がアウトプットに含まれることは避けるべきです。実際、既存の資料と非常に類似したアウトプットが確認されています。
Open AIはデータをどのように使用するかについて透明性を確保できておらず、もしそれがトレーニングデータに組み込まれているとしたら、企業は疑問に思うでしょう。Chat GPTが数カ月にわたって広く利用された後、巧妙に細工されたプロンプトで企業の個人情報を抽出できるようになるかもしれません。
Chat GPTは無差別に質問に応じますが、その特性を悪用して悪意ある目的で情報を得ることが考えられます。例えば、他者のプライバシーに関わる質問や不正な活動につながる質問がある場合、悪意を持つ利用者がこれを利用する可能性があります。
Chat GPTが学習した情報には、インターネット上の広範なデータが含まれています。そのため、Chat GPTに質問された内容に基づいて誤った情報やデマが生成され、これが広がる可能性があります。Chat GPTの回答には、過去のデータから学習した情報に含まれる「偏り」が反映される可能性があります。そのため、ユーザーが質問するトピックに関連する回答にも、社会的な偏りが影響を及ぼすことが考えられます。
これらのリスクからくる機密性や情報共有の危険性に対処するためには、ユーザーはChat GPTを利用する際に慎重であり、機密情報や法的な問題に関する重要な情報は専門家に相談するべきです。また、Chat GPTの回答は参考程度にとどめ、正確性を確認するために他の信頼性のある情報源と組み合わせることが重要です。
Splashtop Secure Workspaceで安全にアクセス
プライベート生成AIとLLMを導入する際、これらの技術へのアクセスを適切に管理し保護することが極めて重要です。そこで登場するのがSplashtop Secure Workspaceです。プライベートLLMを含む、あらゆるプライベートエンタープライズアプリケーションへのアクセスを制御するシンプルで安全な方法を提供します。エンタープライズアプリケーションがWebベースのインターフェイスを提供する場合でも、カスタムデスクトップまたはモバイルアプリケーションを必要とする場合でも、このプラットフォームは、ネットワークサービスポートを外部に公開したり、ファイアウォール、要塞ホスト、またはVPNを使用した複雑なネットワーク設定を必要とせず、あらゆるクライアントデバイスや場所から安全なアクセスを可能にします。
すべてのレベルでのアクセスの保護
Splashtop Secure Workspaceは、LLMを含むプライベートエンタープライズアプリケーションへのアクセスを制御するための豊富なオプションセットをサポートしています。主な機能は次のとおりです。
- シングルサインオン(SSO):一般的なIDプロバイダー(Google、Microsoft、Oktaなど)と同期します
- 多要素認証(MFA):プライベートエンタープライズLLMのチャットインターフェイスを含む、すべてのSSO対応エンタープライズアプリケーションにおいて、フロントエンドユーザーとバックエンドユーザーの双方に対して強力な認証制御を可能にします。
- 条件付きアクセスポリシー:位置情報や企業支給のノート PCの使用など、主要なコンプライアンスとセキュリティの基準を確認することで、アプリケーションへのアクセスを制限します。たとえば、データ主権ルールを遵守している組織では、従業員が海外に出張しているときにプライベートLLMへのアクセスをブロックすることができます。
- 特権アクセス管理:Splashtop Secure Workspaceは、エンタープライズアプリケーションの重要なサブシステムとデータを管理するために指定された特権アカウントやサービスアカウントを安全に委任することで、アクセスを制御できます。LLMの場合、機密性の高い認証情報を不必要に公開することなく、モデル自体、ベクトルまたはグラフデータベース、非構造化データリポジトリ、またはMLパイプラインへのアクセスを制御、追跡できます。
- サードパーティアクセス:Splashtop Secure Workspaceは、エンタープライズアプリケーションへの一時的なアクセスを必要とするサードパーティとの安全なアクセス共有を提供します。これには、オンサイトのトラブルシューティングのために安全なアクセスを必要とするプライベートLLMソリューションプロバイダーが含まれます。Secure Workspace を使用すると、監査とコンプライアンスの目的でセッションを完全に記録しながら、便利にアクセスできます。
- ゼロトラストネットワークアクセス(ZTNA):ネットワークのサブネット全体に完全なアクセス権を付与する従来のVPNとは対照的に、Splashtop Secure WorkspaceのZTNAのアプローチは、承認されたリソースにピンポイントでアクセス権を付与し、攻撃範囲を最小限に抑えます。[default-deny]アプローチは、エンタープライズLLMが機密性の高いデータを扱う場合に安心感を提供します。
- API駆動自動化:自動化とDevOps(Development and Operations)ワークフローに取り組んでいる企業は、Secure Workspaceプラットフォームを緊密に統合して自動化する機能に高い評価をいただいています。生成型AIのコンテキスト内で、Splashtop Secure Workspace はあらゆるMLOpsパイプラインにシームレスに適合し、主要リソースへのアクセスの自動プロビジョニングとSecure Workspaceプラットフォーム自体の自動構成を容易にし、生産性を最大化し、人為的ミスを減らします。
SSWを使ってLLMを保護する方法
動画では、企業がクラウドベースのLLMを利用する場合と、自社でホスティングする場合の二つのアプローチについて解説しています。クラウドベースのアプローチでは、クラウドプロバイダのAPIを通じてLLMにアクセスし、プロンプト学習を利用しますが、この方法ではクエリデータがプロバイダに保存されるため、データプライバシーに関する懸念があります。一方、自社ホスティングでは、オープンソースのLLMをオープンソースのLLMを企業内で調整し、社内にデータを保持することで、プライバシーを強化できます。
セキュリティ対策として、アイデンティティブローカー、特権アクセス管理、第三者アクセス管理、条件付きアクセス、ゼロトラストネットワークアクセス(ZTNA)、自動化などの概念を紹介しています。これらの対策は、企業がセキュリティを確保しながらも、柔軟かつ効率的にAI技術を活用するために不可欠です。
デモセクションでは、d-stackというオープンソースのMLOpsツールを使って、Splashtop Secure Workspaceを介してセキュアな環境でLLMチャットボットをプロビジョニングし、運用する具体的な手順が示されています。このプロセスを通じて、企業はセキュアなアクセス、強力な認証、条件付きアクセスポリシーを実装し、企業のAIシステムとデータを保護できます。
MLOpsは、機械学習プロジェクトにおける課題に対処するための方法です。これは、計画段階から完成、そして実際の使用までを円滑に進めるためのガイドラインです。MLOpsの目的は、開発速度を向上させつつ、エラーを減らし、最終的にはより優れた機械学習のシステムを生み出すことにあります。
d-stackは、そのMLOpsの考え方を実践するための具体的なツールです。このツールは、機械学習のモデルを効率的に開発、デプロイ(実際に使える状態にする)、および運用をサポートします。d-stackを使うことで、開発者やデータサイエンティストは、モデルのトレーニングからデプロイメント、パフォーマンスの監視に至るまでの工程をより簡単に管理できます。
MLOpsとd-stackの関係を映画制作に例えてみましょう。MLOpsは、映画のプロデューサーのような役割を果たし、プロジェクト全体の流れをスムーズにし、品質を保ちながら予算内でスケジュール通りに進行させる方法を提供します。一方で、d-stackは、監督や撮影スタッフに相当し、映画制作の現場で具体的な作業を効率化し、目標を達成するためのツールやテクニックを提供すると考えることができます。
このように、MLOpsはプロジェクトの「方法論」を、d-stackはその方法論を実行するための「ツール」として理解することができます。これらを組み合わせることで、機械学習プロジェクトの開発と運用がよりスムーズで効率的に進行します。
Splashtop Secure Workspaceを活用することで、ブラウザからの利便性と企業AI資産の高度な保護を両立できます。これにより、従業員の効率的なテレワークとデータセキュリティ確保の双方に役立ちます。そして、最終的には、自分専用のLLMベースのチャットボット、つまり自分専用のChat GPTを作成することができます。
プライベートLLMチャットボットを作成するための実践ガイド
LLMチャットボットを構築するというコンセプトは、複雑な作業のように聞こえるかもしれません。しかし、実際には思っているよりも簡単です。dstackと呼ばれるオープンソースのMLOpsツールを使用して説明してみましょう。
この例では、1 つのdstack runコマンドを使用して、クラウド環境でLLM-As-Chatbotをプロビジョニングして起動できます。Splashtop Secure Workspaceコネクタも同時にプロビジョニングして、プライベートLLMチャットボットをSplashtop Secure Workspaceに接続します。その後、他のアプリケーションと同様に、強力な認証、SSO、MFA、豊富な条件付きアクセスポリシーを使用して、安全なワークスペース内にアクセス制御を設定できます。
プライベートLLMへの安全なアクセスを設定するためのステップバイステップガイドをご紹介します。
1. リポジトリをクローンする
git clone https://github.com/yanlinw/LLM-As-Chatbot.git
cd LLM-As-Chatbot
2. dstackのインストールと設定
pip install "dstack[aws,gcp,azure,lambda]" -U
dstack start
dstackサーバーが起動したら、ログインしクラウド資格情報(AWS、GCP、または Azure)を使用してプロジェクトを作成します。
3. dstackプロファイルを作成する
LLM-As-Chatbotフォルダーのルートの下に .dstack/profiles.yml
ファイルを作成します。このファイルは、作成されたプロジェクトを指し、リソースを記述する必要があります。
profiles:
- name: aws-llm
project: aws-llm
resources:
memory: 16GB
gpu:
count: 1
spot_policy: auto
default: True
4. 初期化
dstackサーバーに切り替え、dstackconfigコマンドをコピーしてターミナルに貼り付けます。これにより、dstack サーバーは AWS リソースをリモートでプロビジョニングできます。続いて、dstack init コマンドを実行します。
dstack config --url http://127.0.0.1:3000 --project ssw-llm --token $MY_TOKEN
dstack init
5. プライベートLLM用のSecure Workspaceの設定
Splashtop Secure Workspace Connectorは、プライベートアプリケーションとリソースをSplashtop Secure Workspaceに安全に接続するためのソリューションを提供します。これにより、プライベートアプリケーションを一元的に制御できます。次に、作業中のプライベートLLMを Secure Workspace に接続します。
5.1 コネクタを作成し、コネクタトークンをコピーする
Splashtop Secure Workspace 管理者アカウントにログインします。
[ Deployment]メニューに移動し、[Connector]を選択して、[Add Connector]ボタンをクリックします。
[Headless / CLI] を選択し、コネクタ名を入力して [Next] をクリックします。
[Linux]を選択し、[Done]をクリックします。
コネクタを作成したら、コネクタの一覧からコネクタ名をクリックして詳細を表示します。手順 6 で使用する[Token] をコピーします。
5.2 LLMアプリケーションの作成
プライベートLLMチャットボットサービスをプライベートアプリケーションとして Secure Workspace に追加し、このサービスを従業員にプロビジョニングします。
[Applications/Applications]セクションに移動し、[Add Application/Add Private Application]ボタンをクリックします。アプリケーション フォームにアプリケーション名を入力し、[Host]として[localhost]、[Port]として[6006]を入力し、[Protocol]として[HTTP]を選択し、前に作成したコネクタ名を選択し、このアプリケーションに適切なグループを割り当てて、[Save] をクリックします。
Secure Workspaceは、プライベートLLMアプリケーションの完全修飾ドメイン名を生成します。
6. クラウドでアプリを実行する
LLM-As-Chatbotフォルダで、dstack run
コマンドを使用して、クラウドにプライベートLLMとセキュアワークスペースをプロビジョニングします。($token
をステップ5.1のコネクタトークンに置き換えます)
dstack run . -f ssw-private-llm.yml $token
このコマンドは、クラウドでLLM-As-Chatbotをプロビジョニングして実行します。
また、プライベートLLMと共にSecure Workspaceコネクタインスタンスも起動します。
プライベートLLMサービスが完全に開始されると、作成したプライベートLLMアプリケーションの完全修飾ドメイン名を使用してプライベートLLMにアクセスできます。同時に、このアプリケーションに対して権限と条件付きアクセスポリシーを設定することができます。
この記事で説明されている手順に従って、プライベートLLMセキュアワークスペースを設定し管理することで、運用効率を維持しながら企業の専有データを保護できます。生成型AIとセキュアアクセスシステムの組み合わせは、今後もビジネスオペレーションの未来を形作り続けるでしょう。これらのシステムの導入と安全な管理に積極的に取り組むことで、企業は変革の最前線に立つことができます。
まとめ
企業がプライベート生成AIとLLMを導入する過程で、これらの革新的なシステムへのアクセスを保護することが最も重要です。Splashtop Secure Workspaceは、既存のインフラストラクチャとシームレスに統合しながら、ビジネスクリティカルなシステムへのリモートアクセスを保護できます。