Amazon Web Services 한국 블로그
Amazon Bedrock 자동 추론 검사 기능 출시: 수학적 방식으로 LLM 환각으로 인한 사실 오류 방지 (미리보기)
오늘은 대규모 언어 모델(LLM)로 생성한 응답의 정확성을 수학적으로 검증하고 할루시네이션으로 인한 사실의 오류를 방지하는 데 도움이 되는 Amazon Bedrock Guardrails의 새로운 보호 장치로 자동 추론 검사(평가판)를 추가합니다.
Amazon Bedrock Guardrails를 사용하면 원하지 않는 콘텐츠를 필터링하고, 개인 식별 정보(PII)를 삭제하고, 콘텐츠 안전 및 개인 정보 보호를 강화하여 생성형 AI 애플리케이션을 위한 보호 장치를 구현할 수 있습니다. 거부된 주제, 콘텐츠 필터, 단어 필터, PII 수정, 문맥 기반의 검사에 대한 정책을 구성하고, 이제 자동 추론 검사를 구성할 수 있습니다.
자동 추론 검사는 건전한 수학적, 논리 기반 알고리즘 검증 및 추론 프로세스를 사용하여 모델로 생성된 정보를 검증함으로써 할루시네이션으로 인한 사실의 오류를 방지하는 데 도움이 되므로, 출력은 알려진 사실과 일치하고 조작되거나 일관되지 않은 데이터를 기반으로 하지 않습니다.
Amazon Bedrock Guardrails는 주요 클라우드 공급자에서 제공하는 유일한 책임 있는 AI 기능으로, 고객이 단일 솔루션 내에서 생성형 AI 애플리케이션의 안전, 개인정보 보호 및 진실성 기능을 빌드하고 사용자 지정할 수 있도록 지원합니다.
자동 추론 입문서
자동 추론은 수학적 증명과 논리적 추론을 사용하여 시스템과 프로그램의 동작을 검증하는 컴퓨터 과학 분야입니다. 자동 추론은 시스템 동작에 대한 수학적 보장을 제공한다는 점에서 예측을 수행하는 기계 학습(ML)과 다릅니다. Amazon Web Services(AWS)는 이미 스토리지, 네트워킹, 가상화, 자격 증명 및 암호화와 같은 주요 서비스 영역에서 자동 추론을 사용하고 있습니다. 예를 들어 자동 추론은 암호화 구현의 정확성을 공식적으로 검증하는 데 사용되어 성능과 개발 속도를 모두 개선합니다. 자세히 알아보려면 Amazon Science 블로그의 입증 가능한 보안 및 자동 추론 연구 영역을 확인하세요.
현재 AWS는 생성형 AI에도 유사한 접근 방식을 적용하고 있습니다. Amazon Bedrock Guardrails의 새로운 자동 추론 검사(평가판)는 생성형 AI 응답이 올바른 이유를 설명하는 논리적으로 정확하고 검증 가능한 추론을 사용하여 할루시네이션으로 인한 사실의 오류를 방지하는 데 도움이 되는 최초이자 유일한 생성형 AI 보호 장치입니다. 자동 추론 검사는 사실의 정확성과 설명 가능성이 중요한 사용 사례에 특히 유용합니다. 예를 들어 자동 추론 검사를 사용하여 인사(HR) 정책, 회사 제품 정보 또는 운영 워크플로에 대해 LLM에서 생성한 응답을 검증할 수 있습니다.
자동 추론 검사는 프롬프트 엔지니어링, 검색 증강 생성(RAG), 컨텍스트 기반 검사 등의 다른 기법과 함께 사용되어 LLM에서 생성한 출력이 실제로 정확한지 확인하기 위해 보다 엄격하고 검증 가능한 접근 방식을 추가합니다. 도메인 지식을 구조화된 정책으로 인코딩하면 대화형 AI 애플리케이션이 사용자에게 신뢰할 수 있고 진실된 정보를 제공하고 있다는 확신을 가질 수 있습니다.
Amazon Bedrock Guardrails의 자동 추론 검사(평가판) 사용
Amazon Bedrock Guardrails의 자동 추론 검사를 사용하면 조직의 규칙, 절차 및 지침을 구조화된 수학적 형식으로 인코딩하는 자동 추론 정책을 생성할 수 있습니다. 그런 다음 이러한 정책을 사용하여 LLM 기반 애플리케이션에서 생성된 콘텐츠가 지침과 일치하는지 확인할 수 있습니다.
자동 추론 정책은 이름, 유형, 설명으로 정의된 일련의 변수와 변수에 대해 작동하는 논리적 규칙으로 구성됩니다. 그 이면에서는 규칙이 형식 논리로 표현되지만 공식 논리에 대한 전문 지식이 없는 사용자도 모델을 쉽게 수정할 수 있도록 자연어로 변환됩니다. 자동 추론 검사는 Q&A를 검증할 때 변수 설명을 사용하여 값을 추출합니다.
작동 방식은 다음과 같습니다.
자동 추론 정책 생성
Amazon Bedrock 콘솔을 사용하여 조직의 규칙과 절차를 설명하는 문서를 업로드할 수 있습니다. Amazon Bedrock은 이러한 문서를 분석하고 주요 개념과 그 관계를 수학적 형식으로 나타내는 초기 자동 추론 정책을 자동으로 생성합니다.
세이프가드의 새로운 자동 추론 메뉴 항목으로 이동합니다. 새로운 정책을 생성하고 이름을 지정합니다. HR 가이드라인이나 운영 설명서와 같이 적절한 솔루션 공간을 정의하는 기존 문서를 업로드합니다. 이 데모에서는 항공권 변경에 대한 항공사의 정책이 포함된 항공권 정책 문서 예를 사용하고 있습니다.
그런 다음 정책의 의도와 모든 처리 매개변수를 정의합니다. 예를 들어 공항 직원의 문의를 검증할지 여부를 지정하고 내부 참조 번호와 같이 처리에서 제외할 요소를 식별합니다. 시스템에서 일반적인 상호 작용을 이해하는 데 도움이 되는 샘플 Q&A를 하나 이상 포함합니다.
제 의도에 대한 설명은 다음과 같습니다.
정책 ID 번호는 관련이 없으므로 무시해 줘. 항공사 직원이 고객 세부 정보를 제공하여 고객이 항공권을 수정할 수 있는지 여부에 대해 질문할 거야. 다음은 질문의 예야.
질문: Unicorn Airlines의 원더 시티행 비행기를 탈 예정인데 항공권에 제 성의 글자가 틀렸다는 것을 알았어요. 공항에서 수정할 수 있나요?
답변: 아니요.항공권의 이름 변경은 티켓 구매 후 24시간 이내에 이메일을 통해 제출해야 해요.
그런 다음 생성을 선택합니다.
이제 시스템에서 자동화된 프로세스를 시작하여 자동 추론 정책을 생성합니다. 이 프로세스에는 문서를 분석하고, 주요 개념을 식별하고, 문서를 세분화하고, 이러한 자연어 단위를 형식 논리로 변환하고, 변환을 검증하고, 마지막으로 포괄적인 논리 모델로 결합하는 작업이 포함됩니다. 이러한 작업이 완료되면 규칙 및 변수를 포함하여 생성된 구조를 검토합니다. 사용자 인터페이스를 통해 정확성을 높이기 위해 이러한 구조를 편집할 수 있습니다.
자동 추론 정책을 테스트하려면 먼저 가드레일을 생성해야 합니다.
가드레일 생성 및 자동 추론 검사 구성
Amazon Bedrock Guardrails를 사용하여 대화형 AI 애플리케이션을 빌드할 때 자동 추론 검사를 활성화하고 검증에 사용할 자동 추론 정책을 지정할 수 있습니다.
세이프가드의 가드레일 메뉴 항목으로 이동합니다. 새로운 가드레일을 생성하고 이름을 지정합니다. 자동 추론 정책 활성화를 선택하고 사용하려는 정책 및 정책 버전을 선택합니다. 그런 다음 가드레일 구성을 완료합니다.
자동 추론 검사 테스트
자동 추론 콘솔의 플레이그라운드 테스트를 사용하여 자동 추론 정책의 효과를 확인할 수 있습니다. 애플리케이션 사용자처럼 테스트 질문을 입력하고 검증할 답안 예를 입력합니다.
이 데모에서는 어떻게 될지 보기 위해 잘못된 답을 입력하겠습니다.
질문: Unicorn Airlines의 원더 시티행 비행기를 탈 예정인데 항공권에 제 성의 글자가 틀렸다는 것을 알았어요. 현재 공항에 있는데 직접 변경을 요청할 수 있나요?
답변: 네. 항공권에 기재된 이름은 언제든지 변경할 수 있어요. 공항 카운터에 직접 방문하셔도 돼요.
그런 다음 방금 생성한 가드레일을 선택하고 제출을 선택합니다.
자동 추론 검사는 콘텐츠를 분석하고 구성된 자동 추론 정책과 비교하여 콘텐츠를 검증합니다. 검사를 통해 사실의 부정확성 또는 불일치를 식별하고 검증 결과에 대한 설명을 제공합니다.
제 데모에서는 자동 추론 검사를 통해 응답이 유효하지 않은 것으로 올바르게 식별되었습니다. 이 검사에서 조사 결과로 이어진 규칙을 추출된 변수 및 제안과 함께 보여줍니다.
검증 결과가 유효하지 않은 경우 제안은 결론을 유효하게 만드는 일련의 변수 할당을 보여줍니다. 제 시나리오의 제안 사항에 따르면 검증 결과가 유효하기 위해서는 변경 제출 방법이 이메일이어야 합니다.
사실의 부정확성이 발견되지 않고 검증 결과가 유효하면 제안 사항에서 결과 유지에 필요한 과제 목록을 표시합니다. 이는 답변에 명시되지 않은 가정입니다. 제 시나리오에서는 ‘이름을 수정해야 하는 원래 항공권’이거나 ‘항공권 유형이 변경할 수 있는 유형’이라는 가정일 수 있습니다.
사실의 불일치가 감지되면 콘솔에서 혼합 결과를 검증 결과로 표시합니다. API 응답에는 조사 결과 목록이 표시되며, 일부는 유효한 것으로 표시되고 일부는 유효하지 않은 것으로 표시됩니다. 이런 경우 시스템의 조사 결과 및 제안을 검토하고 명확하지 않은 정책 규칙을 수정하세요.
또한 검증 결과를 사용하여 피드백을 기반으로 LLM에서 생성하는 응답을 개선할 수 있습니다. 예를 들어, 다음 코드 스니펫은 수신한 피드백을 기반으로 모델에 응답을 재생성하도록 요청하는 방법을 보여줍니다.
for f in findings:
if f.result == "INVALID":
if f.rules is not None:
for r in f.rules:
feedback += f"<feedback>{r.description}</feedback>\n"
new_prompt = (
"The answer you generated is inaccurate. Consider the feedback below within "
f"<feedback> tags and rewrite your answer.\n\n{feedback}"
)
높은 검증 정확도를 달성하기 위해서는 반복적인 프로세스가 필요합니다. 가장 좋은 방법은 정책 성과를 정기적으로 검토하고 필요에 따라 조정하는 것입니다. 자연어로 규칙을 편집할 수 있으며 시스템에서 논리 모델을 자동으로 업데이트합니다.
예를 들어 변수 설명을 업데이트하면 검증 정확도가 크게 향상될 수 있습니다. 질문에 “정규직 직원인데…”라고 명시되어 있고 is_full_time
변수에 대한 설명에는 “주당 20시간 이상 근무해”라는 내용만 있는 시나리오를 생각해 보세요. 이 경우 자동 추론 검사에서 “정규직”이라는 문구가 인식되지 않을 수 있습니다. 정확도를 높이려면 변수 설명을 더 포괄적으로 업데이트해야 합니다(예: “주당 20시간 이상 근무해. 사용자는 이를 정규직 또는 파트타임이라고 할 수 있어. 이 값은 정규직의 경우 참이고 파트타임의 경우 거짓이어야 해.” 이처럼 자세한 설명은 시스템이 자연어 질문 및 답변의 검증을 위해 관련된 모든 사실 주장을 선택하여 더 정확한 결과를 제공하는 데 도움이 됩니다.
평가판으로 출시
새로운 자동 추론 검사 보호 장치는 이제 미국 서부(오리건) AWS 리전에서 Amazon Bedrock Guardrails의 평가판으로 사용할 수 있습니다. 지금 바로 평가판 사용을 고려하도록 요청하려면 AWS 계정 팀에 문의하세요. 앞으로 몇 주 안에 Amazon Bedrock 콘솔에서 가입 양식을 찾아보시고, 자세한 내용은 Amazon Bedrock Guardrails를 참조하세요.
– Antje