제퍼넷 로고

AWS Nitro Enclaves를 사용하여 기밀 데이터에 대한 대규모 언어 모델 추론 | 아마존 웹 서비스

시간

이 게시물은 Leidos의 Justin Miles, Liv d'Aliberti 및 Joe Kovba와 공동으로 작성되었습니다. 

Leidos는 Fortune 500대 과학 및 기술 솔루션 리더로서 국방, 정보, 국토안보, 민간 및 의료 시장에서 세계에서 가장 어려운 과제를 해결하기 위해 노력하고 있습니다. 이 게시물에서는 Leidos가 어떻게 AWS와 협력하여 다음을 사용하여 개인 정보 보호 LLM(대형 언어 모델) 추론에 대한 접근 방식을 개발했는지 논의합니다. AWS Nitro 엔클레이브.

LLM은 인간과 유사한 언어를 이해하고 생성하도록 설계되었으며 정부, 의료, 금융 및 지적 재산을 포함한 많은 산업에서 사용됩니다. LLM은 챗봇, 콘텐츠 생성, 언어 번역, 감정 분석, 질문 응답 시스템, 검색 엔진 및 코드 생성을 포함하여 광범위한 적용 가능성을 가지고 있습니다. LLM 기반 추론을 시스템에 도입하면 모델 유출, 데이터 개인정보 보호 위반, 의도하지 않은 LLM 기반 서비스 조작 등 개인정보 위협이 발생할 가능성도 있습니다. LLM이 추론 중에 민감한 정보를 노출하지 않도록 하려면 기술 아키텍처를 구현해야 합니다.

이 게시물에서는 Nitro Enclaves가 LLM 모델 배포, 특히 개인 식별 정보(PII) 또는 보호 건강 정보(PHI)를 사용하는 모델 배포를 보호하는 데 어떻게 도움이 되는지 설명합니다. 이 게시물은 교육 목적으로만 작성되었으며 추가 제어 없이 프로덕션 환경에서 사용해서는 안 됩니다.

LLM 및 Nitro Enclave 개요

잠재적인 사용 사례는 PII 및 PHI가 포함된 질문 및 답변 서비스를 수행하도록 설계된 LLM 기반 민감한 쿼리 챗봇입니다. 최신 LLM 챗봇 솔루션은 보안 문제로 인해 질문을 입력할 때 PII 또는 PHI를 포함해서는 안 된다는 점을 사용자에게 명시적으로 알려줍니다. 이러한 우려를 완화하고 고객 데이터를 보호하기 위해 서비스 소유자는 주로 다음과 같은 사용자 보호에 의존합니다.

  • 편집 – 문서, 텍스트 또는 기타 형식의 콘텐츠에서 PII와 같은 민감한 정보를 식별하고 가리는 프로세스입니다. 이는 자동으로 응답을 수정하도록 훈련된 LLM이나 모델로 전송되기 전에 입력 데이터를 사용하여 수행할 수 있습니다.
  • 다중 요소 인증 – 사용자가 LLM에 액세스하기 위해 신원을 확인하기 위해 여러 인증 방법을 제공해야 하는 보안 프로세스입니다.
  • 전송 계층 보안 (TLS) – 사용자와 LLM 서비스 간 전송 시 데이터 개인정보 보호를 강화하는 보안 통신을 제공하는 암호화 프로토콜입니다.

이러한 방식은 서비스의 보안 상태를 강화하지만 모든 중요한 사용자 정보와 사용자가 모르는 사이에 지속될 수 있는 기타 중요한 정보를 보호하는 데는 충분하지 않습니다.

예시 사용 사례에서 LLM 서비스는 직원 의료 혜택 질문에 답변하거나 개인 퇴직 계획을 제공하도록 설계되었습니다. 다음 샘플 아키텍처를 분석하고 데이터 개인 정보 보호 위험 영역을 식별해 보겠습니다.

llm-위험-지역-다이어그램

그림 1 - 데이터 개인정보 보호 위험 영역 다이어그램

잠재적 위험 영역은 다음과 같습니다.

  1. 권한이 있는 사용자는 서버가 있는 인스턴스에 액세스할 수 있습니다. 의도하지 않거나 무단으로 서비스를 변경하면 민감한 데이터가 의도하지 않은 방식으로 노출될 수 있습니다.
  2. 사용자는 서비스가 애플리케이션 로그에 민감한 정보를 노출하거나 유지하지 않는다는 것을 신뢰해야 합니다.
  3. 애플리케이션 패키지를 변경하면 서비스가 변경되어 민감한 데이터가 노출될 수 있습니다.
  4. 인스턴스에 액세스할 수 있는 권한이 있는 사용자는 서비스에서 사용하는 LLM에 무제한으로 액세스할 수 있습니다. 변경 사항으로 인해 부정확하거나 부정확한 정보가 사용자에게 반환될 수 있습니다.

Nitro Enclaves는 추가 격리를 제공합니다. 아마존 엘라스틱 컴퓨트 클라우드 (Amazon EC2) 인스턴스는 관리자 수준 사용자를 포함하여 무단 액세스로부터 사용 중인 데이터를 보호합니다. 이전 아키텍처에서는 의도하지 않은 변경으로 인해 민감한 데이터가 일반 텍스트로 유지되고 실수로 해당 데이터에 액세스할 필요가 없는 사용자에게 공개될 가능성이 있습니다. Nitro Enclave를 사용하면 EC2 인스턴스에서 격리된 환경을 생성하여 CPU 및 메모리 리소스를 Enclave에 할당할 수 있습니다. 이 엔클레이브는 매우 제한적인 가상 머신입니다. Enclave 내에서 중요한 데이터를 처리하는 코드를 실행하면 상위 프로세스 중 어느 것도 Enclave 데이터를 볼 수 없습니다.

Nitro Enclaves는 다음과 같은 이점을 제공합니다.

  • 메모리 및 CPU 격리 – Nitro 하이퍼바이저를 사용하여 엔클레이브의 CPU와 메모리를 상위 인스턴스의 사용자, 애플리케이션 및 라이브러리로부터 격리합니다. 이 기능은 엔클레이브와 소프트웨어를 격리하는 데 도움이 되며 의도하지 않은 이벤트가 발생할 수 있는 표면적을 크게 줄여줍니다.
  • 별도의 가상 머신 – 엔클레이브는 매우 민감한 데이터를 더욱 보호하고 안전하게 처리하기 위해 EC2 인스턴스에 연결된 별도의 가상 머신입니다.
  • 대화형 액세스 없음 – 엔클레이브는 상위 인스턴스와의 보안 로컬 소켓 연결만 제공합니다. 영구 저장소, 대화형 액세스 또는 외부 네트워킹이 없습니다.
  • 암호화 증명 – Nitro Enclaves 제공 암호화 증명, enclave의 신원을 증명하고 승인된 코드만 enclave에서 실행되고 있는지 확인하는 데 사용되는 프로세스입니다.
  • AWS 통합 – Nitro Enclaves는 다음과 통합됩니다. AWS 키 관리 서비스 (AWS KMS)를 사용하면 엔클레이브 내에서 AWS KMS를 사용하여 암호화된 파일을 해독할 수 있습니다. AWS 인증서 관리자 (ACM) for Nitro Enclaves를 사용하면 Nitro Enclaves가 포함된 EC2 인스턴스에서 실행되는 웹 애플리케이션 및 서버에서 공개 및 비공개 SSL/TLS 인증서를 사용할 수 있습니다.

Nitro Enclaves에서 제공하는 이러한 기능을 사용하면 PII 및 PHI 데이터와 관련된 위험을 완화할 수 있습니다. 민감한 사용자 데이터를 처리할 때 LLM 서비스에 Nitro Enclave를 포함하는 것이 좋습니다.

솔루션 개요

이제 Nitro Enclave를 포함한 예제 서비스의 아키텍처를 살펴보겠습니다. 다음 그림에 표시된 것처럼 Nitro Enclaves를 통합함으로써 LLM은 PHI 또는 PII 데이터를 처리하기 위한 보다 안전한 챗봇이 됩니다.

llm-사용-aws-니트로-엔클레이브-다이어그램

그림 2 – 솔루션 개요 다이어그램

PII, PHI 및 질문을 포함한 사용자 데이터는 애플리케이션이 엔클레이브 내에서 호스팅될 때 요청-응답 프로세스 전반에 걸쳐 암호화된 상태로 유지됩니다. 추론 중에 수행되는 단계는 다음과 같습니다.

  1. 챗봇 앱은 임시 AWS 자격 증명을 생성하고 사용자에게 질문을 입력하도록 요청합니다. PII 또는 PHI가 포함될 수 있는 질문은 AWS KMS를 통해 암호화됩니다. 암호화된 사용자 입력은 임시 자격 증명과 결합되어 암호화된 요청을 생성합니다.
  2. 암호화된 데이터는 POST 요청으로 Flask에서 호스팅하는 HTTP 서버로 전송됩니다. 중요한 데이터를 수락하기 전에 이 엔드포인트를 HTTP에 대해 구성해야 합니다.
  3. 클라이언트 앱은 POST 요청을 수신하고 이를 보안 로컬 채널(예: vsock)을 통해 Nitro Enclaves 내에서 실행되는 서버 앱에 전달합니다.
  4. Nitro Enclaves 서버 앱은 임시 자격 증명을 사용하여 요청을 해독하고 LLM을 쿼리하고 응답을 생성합니다. 모델별 설정은 엔클레이브 내에 저장되며 암호화 증명으로 보호됩니다.
  5. 서버 앱은 동일한 임시 자격 증명을 사용하여 응답을 암호화합니다.
  6. 암호화된 응답은 POST 요청의 응답으로 클라이언트 앱을 통해 챗봇 앱으로 다시 반환됩니다.
  7. 챗봇 앱은 KMS 키를 사용하여 응답을 해독하고 사용자에게 일반 텍스트를 표시합니다.

사전 조건

시작하기 전에 솔루션을 배포하려면 다음 전제 조건이 필요합니다.

EC2 인스턴스 구성

EC2 인스턴스를 구성하려면 다음 단계를 완료하세요.

  1. 시작 r5.8x대형 EC2 인스턴스를 사용하여 amzn2-ami-kernel-5.10-hvm-2.0.20230628.0-x86_64-gp2 AMI Nitro Enclaves가 활성화된 경우.
  2. Nitro Enclaves 애플리케이션을 빌드하고 실행하려면 Nitro Enclaves CLI를 설치하세요.
    • sudo amazon-linux-extras install aws-nitro-enclaves-cli -y
    • sudo yum install aws-nitro-enclaves-cli-devel -y
  3. Nitro Enclaves CLI 설치를 확인합니다.
    • nitro-cli –version
    • 이 게시물에 사용된 버전은 1.2.2입니다.
  4. Git 및 Docker를 설치하여 Docker 이미지를 빌드하고 GitHub에서 애플리케이션을 다운로드하세요. 인스턴스 사용자를 Docker 그룹( IAM 인스턴스 사용자입니다):
    • sudo yum install git -y
    • sudo usermod -aG ne <USER>
    • sudo usermod -aG docker <USER>
    • sudo systemctl start docker && sudo systemctl enable docker
  5. Nitro Enclaves 할당자 및 vsock 프록시 서비스를 시작하고 활성화합니다.
    • sudo systemctl start nitro-enclaves-allocator.service && sudo systemctl enable nitro-enclaves-allocator.service
    • sudo systemctl start nitro-enclaves-vsock-proxy.service && sudo systemctl enable nitro-enclaves-vsock-proxy.service

Nitro Enclaves는 vsock이라는 로컬 소켓 연결을 사용하여 상위 인스턴스와 enclave 사이에 보안 채널을 생성합니다.

모든 서비스가 시작되고 활성화된 후 인스턴스를 다시 시작하여 모든 사용자 그룹 및 서비스가 올바르게 실행되고 있는지 확인합니다.

sudo shutdown -r now

Nitro Enclaves 할당자 서비스 구성

Nitro Enclaves는 Enclave를 실행하기 위해 인스턴스 CPU 및 메모리의 일부를 지정하는 격리된 환경입니다. Nitro Enclaves 할당자 서비스를 사용하면 Enclave를 실행하기 위해 상위 인스턴스에서 가져오는 CPU 수와 메모리 양을 나타낼 수 있습니다.

텍스트 편집기를 사용하여 Enclave의 예약된 리소스를 수정합니다(우리 솔루션의 경우 충분한 리소스를 제공하기 위해 8개의 CPU와 70,000MiB 메모리를 할당합니다).

vi /etc/nitro_enclaves/allocatory.yaml

AWS-Nitro-Enclaves-할당자-서비스-구성

그림 3 – AWS Nitro Enclaves 할당자 서비스 구성

프로젝트 복제

EC2 인스턴스를 구성한 후 코드를 다운로드하여 Nitro Enclaves 내부의 LLM을 사용하여 민감한 챗봇을 실행할 수 있습니다.

다음을 업데이트해야 합니다. server.py LLM 응답을 암호화하기 위해 처음에 생성한 적절한 KMS 키 ID로 파일을 복사하세요.

  1. GitHub 프로젝트를 복제합니다.
    • cd ~/ && git clone https://<THE_REPO.git>
  2. 프로젝트 폴더로 이동하여 빌드하세요. enclave_base 다음을 포함하는 Docker 이미지 Nitro Enclaves 소프트웨어 개발 키트 (SDK) Nitro 하이퍼바이저의 암호화 증명 문서용(이 단계는 최대 15분이 소요될 수 있음):
    • cd /nitro_llm/enclave_base
    • docker build ./ -t “enclave_base”

EC2 인스턴스에 LLM 저장

우리는 자연어 처리를 위해 오픈 소스 Bloom 560m LLM을 사용하여 응답을 생성하고 있습니다. 이 모델은 PII 및 PHI에 맞게 미세 조정되지 않았지만 LLM이 엔클레이브 내부에서 어떻게 존재할 수 있는지 보여줍니다. 또한 모델은 Dockerfile을 통해 엔클레이브에 복사될 수 있도록 상위 인스턴스에 저장되어야 합니다.

  1. 프로젝트로 이동합니다.
    • cd /nitro_llm
  2. 모델을 로컬에 저장하는 데 필요한 요구 사항을 설치합니다.
    • pip3 install requirements.txt
  3. 실행 save_model.py 내에서 모델을 저장하는 앱 /nitro_llm/enclave/bloom 예배 규칙서:
    • python3 save_model.py

Nitro Enclaves 이미지 빌드 및 실행

Nitro Enclaves를 실행하려면 애플리케이션의 Docker 이미지에서 EIF(Enclave 이미지 파일)를 생성해야 합니다. enclave 디렉터리에 있는 Dockerfile에는 enclave 내부에서 실행될 파일, 코드 및 LLM이 포함되어 있습니다.

엔클레이브를 구축하고 실행하는 데 몇 분 정도 걸립니다.

  1. 프로젝트 루트로 이동합니다.
    • cd /nitro_llm
  2. 엔클레이브 이미지 파일을 다음과 같이 빌드합니다. enclave.eif:
    • nitro-cli build-enclave --docker-uri enclave:latest --output-file enclave.eif
AWS-Nitro-Enclave-빌드-결과

그림 4 – AWS Nitro Enclaves 빌드 결과

엔클레이브가 구축되면 일련의 고유한 해시 및 플랫폼 구성 레지스터(PCR)가 생성됩니다. PCR은 하드웨어와 애플리케이션의 신원을 증명하기 위한 연속 측정입니다. 이러한 PCR은 암호화 증명에 필요하며 KMS 키 정책 업데이트 단계에서 사용됩니다.

  1. 다음의 리소스로 엔클레이브를 실행합니다. allocator.service (추가 --attach-console 끝에 있는 인수는 디버그 모드에서 엔클레이브를 실행합니다.
    • nitro-cli run-enclave --cpu-count 8 --memory 70000 --enclave-cid 16 --eif-path enclave.eif

EIF 파일 크기의 4배 이상을 할당해야 합니다. 이는 다음에서 수정할 수 있습니다. allocator.service 이전 단계에서.

  1. 다음 명령을 사용하여 엔클레이브가 실행 중인지 확인합니다.
    • nitro-cli describe-enclaves
AWS-Nitro-Enclave-설명-명령-응답

그림 5 - AWS Nitro Enclave 설명 명령

KMS 키 정책 업데이트

KMS 키 정책을 업데이트하려면 다음 단계를 완료하세요.

  1. AWS KMS 콘솔에서 다음을 선택합니다. 고객 관리 키 탐색 창에서
  2. 필수 구성 요소로 생성한 키를 검색합니다.
  3. 왼쪽 메뉴에서 편집 핵심 정책에 대해.
  4. 다음 정보로 키 정책을 업데이트합니다.
    • 귀하의 계정 ID
    • IAM 사용자 이름
    • 업데이트된 Cloud9 환경 인스턴스 역할
    • 행위 kms:Encryptkms:Decrypt
    • 조건문을 사용하여 PCR(예: PCR0, PCR1, PCR2)을 주요 정책에 포함합니다.

다음 주요 정책 코드를 참조하세요.

{
   "Version":"2012-10-17",
   "Id":"key-default-1",
   "Statement":[
      {
         "Sid":"Enable User permissions",
         "Effect":"Allow",
         "Principal":{
            "AWS":"arn:aws:iam:::user/"
         },
         "Action":[
            "kms:CreateAlias",
            "kms:CreateKey",
            "kms:DeleteAlias",
            "kms:Describe*",
            "kms:GenerateRandom",
            "kms:Get*",
            "kms:List*",
            "kms:TagResource",
            "kms:UntagResource",
            "iam:ListGroups",
            "iam:ListRoles",
            "iam:ListUsers"
         ],
         "Resource":"*"
      },
      {
         "Sid":"Enable Enclave permissions",
         "Effect":"Allow",
         "Principal":{
            "AWS":"arn:aws:iam:::role/"
         },
         "Action":[
            "kms:Encrypt",
            "kms:Decrypt"
         ],
         "Resource":"*",
         "Condition":{
            "StringEqualsIgnoreCase":{
               "kms:RecipientAttestation:PCR0":"",
               "kms:RecipientAttestation:PCR1":"",
               "kms:RecipientAttestation:PCR2":""
            }
         }
      }
   ]
}

챗봇 앱 저장

AWS 계정 외부에 있는 민감한 쿼리 챗봇 애플리케이션을 모방하려면 chatbot.py 앱을 다운로드하고 Cloud9 환경 내에서 실행하세요. Cloud9 환경은 임시 자격 증명에 대한 인스턴스 역할을 사용하여 enclave를 실행하는 EC2에서 권한을 연결 해제합니다. 다음 단계를 완료하세요.

  1. Cloud9 콘솔에서 생성한 환경을 엽니다.
  2. 다음 코드를 다음과 같은 새 파일에 복사하십시오. chatbot.py 메인 디렉토리에.
  3. 필요한 모듈을 설치합니다:
    • pip install boto3
    • Pip install requests
  4. Amazon EC2 콘솔에서 Nitro Enclaves 인스턴스와 연결된 IP를 기록해 둡니다.
  5. URL 변수를 업데이트하세요. http://<ec2instanceIP>:5001.
"""
Modules for a basic chatbot like application and AWS communications
"""
import base64
import requests
import boto3
 
def get_identity_document():
    """
    Get identity document for current EC2 Host
    """
    identity_doc = requests.get(
        "http://169.254.169.254/latest/dynamic/instance-identity/document", timeout=30)
    return identity_doc
 
def get_region(identity):
    """
    Get account of current instance identity
    """
    region = identity.json()["region"]
    return region
 
def get_account(identity):
    """
    Get account of current instance identity
    """
    account = identity.json()["accountId"]
    return account
 
def set_identity():
    """
    Set region and account for KMS
    """
    identity = get_identity_document()
    region = get_region(identity)
    account = get_account(identity)
    return region, account
 
def prepare_server_request(ciphertext):
    """
    Get the AWS credential from EC2 instance metadata
    """
    instance_prof = requests.get(
        "http://169.254.169.254/latest/meta-data/iam/security-credentials/", timeout=30)
    instance_profile_name = instance_prof.text
 
    instance_prof_json = requests.get(
        f"http://169.254.169.254/latest/meta-data/iam/security-credentials/{instance_profile_name}",
        timeout=30)
    response = instance_prof_json.json()
 
    credential = {
        'access_key_id': response['AccessKeyId'],
        'secret_access_key': response['SecretAccessKey'],
        'token': response['Token'],
        'region': REGION,
        'ciphertext': ciphertext
    }
    return credential
 
def get_user_input():
    """
    Start chatbot to collect user input
    """
    print("Chatbot: Hello! How can I assist you?")
    user_input = input('Your Question: ')
    return user_input.lower()
 
def encrypt_string(user_input, alias, kms):
    """
    Encrypt user input using AWS KMS
    """
    file_contents = user_input
    encrypted_file = kms.encrypt(KeyId=f'alias/{alias}', Plaintext=file_contents)
    encrypted_file_contents = encrypted_file[u'CiphertextBlob']
    encrypted_file_contents_base64 = base64.b64encode(encrypted_file_contents)
    return encrypted_file_contents_base64.decode()
 
def decrypt_data(encrypted_data, kms):
    """
    Decrypt the LLM response using AWS KMS
    """
    try:
        ciphertext_blob = base64.b64decode(encrypted_data)
        response = kms.decrypt(CiphertextBlob=ciphertext_blob)
        decrypted_data = response['Plaintext'].decode()
        return decrypted_data
    except ImportError as e_decrypt:
        print("Decryption failed:", e_decrypt)
        return None
 
REGION, ACCOUNT = set_identity()
  
def main():
    """
    Main function to encrypt/decrypt data and send/receive with parent instance
    """
    kms = boto3.client('kms', region_name=REGION)
    alias = "ncsnitro"
    user_input = get_user_input()
    encrypted_input = encrypt_string(user_input, alias, kms)
    server_request = prepare_server_request(encrypted_input)
    url = 'http://<EC2 Instance Private IP>:5001'
    x = requests.post(url, json = server_request)
    response_body = x.json()
    llm_response = decrypt_data(response_body["EncryptedData"], kms)
    print(llm_response)
 
if __name__ == '__main__':
    main()

  1. 챗봇 애플리케이션을 실행합니다.
    • python3 chat.py

실행 중일 때 터미널은 사용자 입력을 요청하고 이전의 아키텍처 다이어그램을 따라 보안 응답을 생성합니다.

비공개 질의응답 챗봇 실행

이제 Nitro Enclaves가 EC2 인스턴스에서 실행되고 있으므로 챗봇 PHI 및 PII 질문을 보다 안전하게 질문할 수 있습니다. 예를 살펴보겠습니다.

Cloud9 환경 내에서는 챗봇에게 질문을 하고 사용자 이름을 제공합니다.

질문-내 이메일에 액세스할 수 없습니다

그림 6 - 챗봇에게 질문하기

AWS KMS는 다음 스크린샷과 같은 질문을 암호화합니다.

암호화된 질문

그림 7 – 암호화된 질문

그런 다음 엔클레이브로 전송되고 보안된 LLM에 요청됩니다. LLM의 질문과 응답은 다음 스크린샷과 같습니다(결과와 암호화된 응답은 디버그 모드에서만 엔클레이브 내부에 표시됩니다).

LLM의 질문-응답

그림 8 - LLM의 응답

그런 다음 결과는 AWS KMS를 사용하여 암호화되고 해독을 위해 Cloud9 환경으로 반환됩니다.

최종 복호화 응답

그림 9 - 최종 복호화된 응답

정리

리소스를 정리하려면 다음 단계를 완료하세요.

  1. 엔클레이브를 수용하기 위해 생성된 EC2 인스턴스를 중지합니다.
  2. Cloud9 환경을 삭제합니다.
  3. KMS 키를 삭제합니다.
  4. EC2 인스턴스 역할과 IAM 사용자 권한을 제거합니다.

결론

이 게시물에서는 Nitro Enclaves를 사용하여 PII 및 PHI 정보를 보다 안전하게 보내고 받는 LLM 질문 및 응답 서비스를 배포하는 방법을 소개했습니다. 이는 Amazon EC2에 배포되었으며 Enclave는 AWS KMS와 통합되어 KMS 키에 대한 액세스를 제한하므로 Nitro Enclaves와 최종 사용자만 키를 사용하고 질문을 해독할 수 있습니다.

더 큰 워크로드를 지원하기 위해 이 아키텍처를 확장할 계획이라면 모델 선택 프로세스가 EC2 리소스에 대한 모델 요구 사항과 일치하는지 확인하세요. 또한 최대 요청 크기와 이것이 HTTP 서버에 미치는 영향과 모델에 대한 추론 시간을 고려해야 합니다. 이러한 매개변수 중 다수는 모델 및 HTTP 서버 설정을 통해 사용자 정의할 수 있습니다.

워크로드에 대한 특정 설정 및 요구 사항을 결정하는 가장 좋은 방법은 미세 조정된 LLM을 사용하여 테스트하는 것입니다. 이 게시물에는 민감한 데이터의 자연어 처리만 포함되어 있지만 오디오, 컴퓨터 비전 또는 다중 양식을 지원하는 대체 LLM을 지원하도록 이 아키텍처를 수정할 수 있습니다. 여기에 강조된 동일한 보안 원칙은 모든 형식의 데이터에 적용될 수 있습니다. 이 게시물을 작성하는 데 사용된 리소스는 다음에서 사용할 수 있습니다. GitHub 레포.

의견 섹션에서 이 솔루션을 귀하의 환경에 어떻게 적용할 것인지 공유하십시오.


저자에 관하여

저스틴 마일스 Office of Technology 산하 Leidos 디지털 현대화 부문의 클라우드 엔지니어입니다. 여가 시간에는 골프와 여행을 즐깁니다.

리브 달리베르티 기술실 산하 Leidos AI/ML Accelerator 소속 연구원입니다. 그들의 연구는 개인 정보 보호 기계 학습에 중점을 둡니다.

크리스 렌조 AWS 국방 및 항공우주 조직의 수석 솔루션 아키텍트입니다. 업무 외 시간에는 따뜻한 날씨와 여행의 균형을 즐깁니다.

조 코브바 Leidos 디지털 현대화 부문 부사장입니다. 여가 시간에는 축구 경기 심판과 소프트볼 경기를 즐깁니다.

spot_img

최신 인텔리전스

spot_img