> 기술 주변기기 > 일체 포함 > 큰 언어 모델의 응답의 신뢰성을 측정하는 방법

큰 언어 모델의 응답의 신뢰성을 측정하는 방법

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2025-02-25 22:50:13
원래의
785명이 탐색했습니다.
대형 언어 모델 (LLMS)의 기본 원리는 매우 간단합니다. 교육 데이터의 통계적 패턴을 기반으로 한 단어 순서로 다음 단어 (또는 토큰)를 예측합니다. 그러나이 간단한 기능은 텍스트 요약, 아이디어 생성, 브레인 스토밍, 코드 생성, 정보 처리 및 컨텐츠 작성과 같은 여러 가지 놀라운 작업을 수행 할 수있을 때 엄청나게 정교한 것으로 나타났습니다. 즉, LLM은 메모리가 없습니다. 그들은 기본 기능을 고수하는 것 외에 다른 것을“이해”하는 것입니다. 다음 단어 예측 과정은 확률 론적입니다. LLM은 확률 분포에서 각 단어를 선택해야합니다. 이 과정에서 그들은 종종 일관된 응답을 생성하고 그럴듯하지만 잘못된 정보로 간격을 메우기 위해 허위, 제작 또는 일관성없는 내용을 생성합니다. 이 현상은 환각이라고합니다. LLM이 외부 지식 소스와 함께 작동하게하는 RAG (Recreval Augment Generation) 방법은 어느 정도 환각을 최소화하지만 완전히 근절 할 수는 없습니다. 고급 래그는 텍스트 내 인용 및 URL을 제공 할 수 있지만 이러한 참조를 확인하는 것은 바쁜 시간이 걸릴 수 있습니다. 따라서, 우리는 자체 지식이나 외부 지식 기반 (RAG)에서 생성되는지 여부에 관계없이 LLM의 응답의 신뢰성 또는 신뢰성을 평가하기위한 객관적인 기준이 필요합니다. 이 기사에서는 LLM의 출력에 점수를 할당하는 신뢰할 수있는 언어 모델로 LLM의 출력을 신뢰할 수있는 방법에 대해 논의 할 것입니다. 우리는 먼저 신뢰할 수있는 언어 모델을 사용하여 LLM의 답변에 점수를 할당하고 신뢰성을 설명하는 방법에 대해 논의 할 것입니다. 그 후, 우리는 Llamaparse와 Llamaindex가있는 예제 Rag를 개발하여 신뢰성에 대한 Rag의 답변을 평가할 것입니다. 이 기사의 전체 코드는 github의 Jupyter 노트북에서 볼 수 있습니다.

LLM의 답변에 신뢰도 점수를 지정하는 우리가 LLM의 응답에 신뢰도 점수를 할당하는 방법을 보여주기 위해 Cleanlab의 신뢰할 수있는 언어 모델 (TLM)을 사용하겠습니다. 이러한 TLM은

불확실성 정량화 및

일관성 분석의 조합을 사용하여 LLM 응답에 대한 신뢰성 점수와 설명을 계산합니다. CleanLab은 웹 사이트에서 계정을 만들어 얻을 수있는 무료 평가판 API를 제공합니다. 먼저 CleanLab의 Python 클라이언트를 설치해야합니다

pip install --upgrade cleanlab-studio
로그인 후 복사
로그인 후 복사
Cleanlab은 '', '', ' o1-preview ', ' Claude-3-Sonnet ',' Claude-3.5-Sonnet ', ‘ Claude-3.5-Sonnet-v2 ’및 기타. TLM이 GPT-4O의 답변에 신뢰도 점수를 부여하는 방법은 다음과 같습니다. 신뢰도 점수는 0에서 1까지이며, 여기서 높은 값은 더 큰 신뢰성을 나타냅니다. 위의 코드는 ''라라 카다 라 (Abracadabra)라는 단어에 몇 개의 모음이 몇 개 있는지에 대한 GPT-4O의 응답을 테스트했습니다. TLM의 출력에는 모델의 답변 (응답), 신뢰성 점수 및 설명이 포함되어 있습니다. 이 코드의 출력은 다음과 같습니다. 가장 진보 된 언어 모델이 그러한 간단한 작업에 대해 어떻게 환각을주고 잘못된 출력을 생성하는지 알 수 있습니다. Claude-3.5-Sonnet-v2 는 올바른 출력을 생성합니다. 두 모델의 응답을 다른 질문과 비교해 봅시다. 여기에 두 모델의 응답이 있습니다 :

우리는 또한 오픈 소스 LLM에 대한 신뢰도 점수를 창출 할 수 있습니다. 최근에 많은 과장된 오픈 소스 LLM : DeepSeek-R1을 확인해 봅시다. 나는 메타의 from cleanlab_studio import Studio studio = Studio("<CLEANLAB_API_KEY>") # Get your API key from above tlm = studio.TLM(options={"log": ["explanation"], "model": "gpt-4o"}) # GPT, Claude, etc #set the prompt out = tlm.prompt("How many vowels are there in the word 'Abracadabra'.?") #the TLM response contains the actual output 'response', trustworthiness score and explanation print(f"Model's response = {out['response']}") print(f"Trustworthiness score = {out['trustworthiness_score']}") print(f"Explanation = {out['log']['explanation']}") 를 기반으로

deepseek-r1-distill-70b 를 사용하고 DeepSeek의 더 큰 671 억 개의 매개 변수 혼합물에서 증류 할 것입니다 (MOE ) 모델. 지식 증류는 미리 훈련 된 대규모 모델의 학습을 "교사 모델"의 학습을 더 작은 "학생 모델"으로 이전하는 것을 목표로하는 기계 학습 기술입니다. 여기 deepseek-r1-distill-llama-70b

모델의 출력이 있습니다
Model's response = The word "Abracadabra" contains 6 vowels. The vowels are: A, a, a, a, a, and a.
Trustworthiness score = 0.6842228802750124
Explanation = This response is untrustworthy due to a lack of consistency in possible responses from the model. Here's one inconsistent alternate response that the model considered (which may not be accurate either):
5.
로그인 후 복사

신뢰할 수있는 래그 개발 우리는 이제 헝겊에서 LLM 응답의 신뢰성을 측정 할 수있는 방법을 보여주기 위해 헝겊을 개발할 것입니다. 이 래그는 주어진 링크에서 데이터를 긁어 내고 Markdown 형식으로 구문 분석하고 벡터 스토어를 작성하여 개발됩니다. 다음 코드를 위해 다음 라이브러리를 설치해야합니다.

html을 pdf 형식으로 렌더링하려면 웹 사이트에서 wkhtmltopdf
Model's response = Let me count the vowels in 'Abracadabra':
A-b-r-a-c-a-d-a-b-r-a

The vowels are: A, a, a, a, a

There are 5 vowels in the word 'Abracadabra'.
Trustworthiness score = 0.9378276048845285
Explanation = Did not find a reason to doubt trustworthiness.
로그인 후 복사
명령 줄 도구를 설치해야합니다. 다음 라이브러리가 가져옵니다

다음 단계에는 Python 's BeautifulSoup 라이브러리를 사용하여 주어진 URL에서 데이터를 긁어 내고 pdfkit

를 사용하여 PDF 파일에 스크래프 데이터를 저장하고 PDF에서 데이터를 구문 분석하는 것이 포함됩니다. s) LLMS로 구축 된 genai-native 문서 구문 분석 플랫폼 인 from cleanlab_studio import Studio import markdown from IPython.core.display import display, Markdown # Initialize the Cleanlab Studio with API key studio = Studio("") # Replace with your actual API key # List of models to evaluate models = ["gpt-4o", "claude-3.5-sonnet-v2"] # Define the prompt prompt_text = "Which one of 9.11 and 9.9 is bigger?" # Loop through each model and evaluate for model in models: tlm = studio.TLM(options={"log": ["explanation"], "model": model}) out = tlm.prompt(prompt_text) md_content = f""" ## Model: {model} **Response:** {out['response']} **Trustworthiness Score:** {out['trustworthiness_score']} **Explanation:** {out['log']['explanation']} --- """ display(Markdown(md_content)) 를 사용하여 Markdown 파일로 LLM 사용 사례. 우리는 먼저 cleanlabtlm과 Embedding 모델 ( huggingface

임베딩 모델 bge-small-en-v1.5 )에서 사용할 LLM을 구성합니다. 벡터 스토어를 생성하기 위해 스크래그 데이터의 임베딩을 계산합니다. 이제 우리는 기본 이벤트 핸들러 클래스에서 파생 된 사용자 정의 이벤트 핸들러, gettrustworthinessscore 를 정의합니다. 이 핸들러는 LLM 완료가 끝나면 트리거되고 응답 메타 데이터에서 신뢰도 점수를 추출합니다. 헬퍼 함수 는 신뢰도 점수와 함께 LLM의 응답을 표시합니다.

.
pip install --upgrade cleanlab-studio
로그인 후 복사
로그인 후 복사
이제 주어진 URL에서 데이터를 긁어 PDF를 생성합니다. 데모를 위해, 우리는 큰 언어 모델에 대한이 Wikipedia 기사에서만 데이터를 폐기 할 것입니다 (Creative Commons Attribution-Sharealike 4.0 라이센스 ). 노트 . 다음 코드 조각은 HTTP 요청을 작성하고 BeautifulSoup Python 라이브러리를 사용하여 HTML 컨텐츠를 구문 분석하여 주어진 URL의 데이터를 긁습니다. HTML 컨텐츠는 프로토콜 관련 URL을 절대적으로 변환하여 정리됩니다. 그 후, 스크랩 된 컨텐츠는 pdfkit .

긁힌 데이터로부터 pdf (들)를 생성 한 후, 우리는 를 사용 하여이 pdfs를 구문 분석합니다. 마크 다운 형식으로 내용을 추출하고 문서 이름 및 페이지 번호와 함께 문서를 페이지에서 구문 분석하기 위해 구문 분석 지침을 설정했습니다. 이 추출 된 엔티티 (페이지)를 노드 라고합니다. 파서는 추출 된 노드를 반복하고 나중에 참조를 용이하게하는 인용 헤더를 추가하여 각 노드의 메타 데이터를 업데이트합니다.

우리는 이제 벡터 스토어와 쿼리 엔진을 만듭니다. 우리는 질문에 답할 때 LLM의 행동을 안내하기 위해 고객 프롬프트 템플릿을 정의합니다. 마지막으로, 생성 된 인덱스가있는 쿼리 엔진을 만듭니다. 각 쿼리에 대해 쿼리와 의미 론적 유사성을 기반으로 벡터 저장소에서 상위 3 개의 노드를 검색합니다. LLM은이 검색된 노드를 사용하여 최종 답변을 생성합니다.
from cleanlab_studio import Studio
studio = Studio("<CLEANLAB_API_KEY>")  # Get your API key from above
tlm = studio.TLM(options={"log": ["explanation"], "model": "gpt-4o"}) # GPT, Claude, etc
#set the prompt
out = tlm.prompt("How many vowels are there in the word 'Abracadabra'.?")
#the TLM response contains the actual output 'response', trustworthiness score and explanation
print(f"Model's response = {out['response']}")
print(f"Trustworthiness score = {out['trustworthiness_score']}")
print(f"Explanation = {out['log']['explanation']}")
로그인 후 복사
이제 몇 가지 쿼리와 해당 신뢰도 점수에 대해 헝겊을 테스트 해 봅시다.

직접 추론 또는 헝겊을 통해 생성 되든 LLM의 응답에 신뢰도 점수를 지정하면 AI의 출력의 신뢰성을 정의하고 필요한 경우 인적 검증 우선 순위를 정하는 데 도움이됩니다. 이것은 잘못되거나 신뢰할 수없는 반응이 심각한 결과를 초래할 수있는 중요한 영역에 특히 중요합니다. 그게 모두입니다! 기사가 마음에 드시면

중간 및 링크드 인 .

위 내용은 큰 언어 모델의 응답의 신뢰성을 측정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿