information-extraction

2 개의 포스트

toss5분 읽기큐레이션 요약

LLM은 똑똑한데, 왜 우리 회사 일은 모를까

LLM이 사내 질문에 정확히 답하려면 단순히 관련 문서를 검색하는 것만으로는 부족하다. 문서·코드·메신저의 최신성, 상충 여부, 실제 구현과의 일치 여부까지 관리하는 신뢰 가능한 컨텍스트 계층이 필요하며, Topic은 이를 구축하기 위한 시스템이다. Topic은 원본을 의미 단위로 정규화하고, 개념과 관계를 연결한 뒤, 변경된 부분만 선택적으로 검증한다. ## 검색만으로는 신뢰를 보장할 수 없는 이유 - 검색은 질문과 관련된 텍스트를 찾아줄 뿐, 해당 정보가 최종 결정인지 판단하지 못한다. - 문서, 미팅, 코드가 서로 다른 정책을 설명할 수 있다. - 메신저 논의가 실제 결론인지, 문서가 오래된 것인지, 코드 변경이 의도된 것인지 추가 판단이 필요하다. - 에이전트가 각자 원문을 검색하면 자료 선택과 충돌 해석이 달라져 답변 일관성이 떨어진다. - Topic은 출처, 관계, 최신성, 충돌 상태를 공통 계층에서 관리해 사람과 LLM이 같은 근거를 사용하도록 한다. ## 신뢰를 구성하는 여섯 가지 축 - **Granularity**: 독립적으로 관리할 수 있는 적절한 크기와 의미의 컨텍스트인지 판단한다. - **Faithfulness**: 컨텍스트의 주장이나 설명이 원문 근거로 뒷받침되는지 확인한다. - **Staleness**: 정보가 현재도 유효한지 검사한다. - **Canonicality**: 서로 다른 이름이나 표현이 같은 대상을 가리키는지 판단한다. - **Consistency**: 여러 출처의 내용이 서로 양립하는지 확인한다. - **Coverage**: 중요한 근거와 관점이 누락되지 않았는지 살핀다. - 모든 문제를 하나의 신뢰도 점수로 합치지 않고, 규칙·LLM·사람 검토를 각각 적합한 판단에 사용한다. ## Ingest: 출처별 의미 단위를 보존한 정규화 Topic은 문서·코드·메신저의 원본을 공통 `ContentUnit`으로 변환한다. - 주요 필드: - `source_type`: document, code, messenger - `unit_type`: 문서 섹션, 메신저 스레드 등 - `source_uri`: 원문으로 돌아가는 주소 - `content_hash`: 변경 감지용 해시 - `created_at_src`, `updated_at_src` - 출처별 식별자와 구조를 담은 `metadata` - 공통 형식은 후속 추출·검증을 일관되게 만든다. - 출처별 구조는 의미 경계와 증거의 원천을 보존하기 위해 유지한다. ### 문서는 제목 계층 단위로 분할 - Markdown 문서를 고정 길이가 아니라 제목 구조에 따라 나눈다. - 상위 제목 경로를 함께 저장해 문장이 어떤 정책이나 기능에 속하는지 보존한다. - 섹션이 지나치게 긴 경우에만 추가 분할한다. - 문서 경로, 원문 URL, 작성·수정 시각도 검증 정보로 남긴다. ### 메신저는 개별 메시지보다 스레드 단위로 처리 - 메시지 하나만 보면 질문인지 결론인지 알기 어렵기 때문에 스레드 전체를 하나의 의미 단위로 삼는다. - 요약 시: - 함수명, 에러 클래스, 파일 경로 등 기술 식별자를 원문 그대로 보존한다. - 질문, 검토한 선택지, 최종 결과를 구분한다. - 확정된 내용과 미결정 내용을 나눈다. - 대화에 없는 합의를 만들어내지 않는다. - 잡담만 있는 스레드는 컨텍스트로 만들지 않는다. ### 코드는 심볼과 비즈니스 동작을 함께 표현 - 파서로 함수·클래스 등 코드 심볼을 추출한다. - 파일 경로, 심볼 종류, 시작·종료 줄, import 관계는 규칙 기반으로 수집한다. - 여러 심볼을 가로지르는 업무 동작은 `CodeSemanticCard`로 묶는다. - semantic card에는 다음 정보가 포함된다. - 업무 대상과 실제 동작 - 도메인 용어와 코드 식별자 - 저장소·파일·줄·심볼 단위의 근거 span - 기준이 된 `commit_sha` - LLM이 만든 카드는 파일·줄이 실제 존재하는지, 설명을 뒷받침하는 span이 있는지 규칙 기반으로 재검사한다. - 최종 검증에서는 카드의 설명만 믿지 않고 현재 코드의 실제 span을 다시 읽는다. ## Extract: 개념과 관계를 원문 근거와 연결 - 각 `ContentUnit`에서 개념 후보와 이를 뒷받침하는 문장을 추출한다. - 함께 등장한 후보를 중심으로 관계를 제안하고, 표현·의미가 유사한 후보의 중복 가능성을 계산한다. - 충분한 근거가 있을 때만 대표 개념으로 통합한다. - 문서·메신저·코드처럼 출처가 다른 unit 사이에도 연결 후보를 만든다. - 개념과 관계에는 원문 위치, 인용, 판단 상태를 함께 저장한다. ### 사내 용어는 사람 검토를 포함 - 띄어쓰기·대소문자 차이는 정규화와 임베딩으로 자동 탐지할 수 있다. - 사내 약어와 별칭은 잘못 합치면 검색·검증 전체를 오염시킬 수 있다. - 애매한 동의어는 즉시 병합하지 않고 `Synonym Proposal`로 등록한다. - 사람이 승인한 별칭만 관리되는 관계로 반영하며, 거절된 후보는 반복 제안하지 않는다. ### 문서와 코드 관계를 유형별로 구분 - `supported_by`: 코드가 문서의 설명을 뒷받침한다. - `contradicted_by`: 코드와 문서의 동작이 충돌한다. - `mentions`: 같은 기능을 언급하지만 일치·충돌 여부를 판단할 근거가 부족하다. - 임베딩으로 후보를 제한한 뒤, 의미 판단이 필요한 후보만 배치 검증한다. - 관계에는 유형뿐 아니라 신뢰도, 판단 이유, 원문 인용, 검증 상태를 기록한다. - 검증 실패나 낮은 신뢰도는 관계를 저장하지 않는다. 관계가 없다는 것은 무관하다는 뜻이 아니라 아직 확인되지 않았다는 의미다. ## Verify: 변경된 부분만 선택적으로 재검증 - 각 unit의 안정적인 식별자와 `content_hash`를 이용해 변경 범위를 추적한다. - 변경되지 않은 unit의 추출·관계 결과는 재사용한다. - 새로 생성되거나 변경된 unit만 다시 처리한다. - 원본이 삭제되면 해당 원본을 참조하던 관계도 정리한다. - 코드 anchor에는 검증 당시의 commit과 span hash를 저장한다. - 현재 코드에서 anchor가 사라졌으면 orphaned 상태로 표시한다. - anchor의 span hash가 같으면 의미 검증을 생략한다. - span hash가 달라졌으면 변경된 코드에 대해 faithfulness를 다시 검증한다. - 해시와 참조 무결성은 규칙 기반으로 검사하고, 실제 의미가 달라진 경우에만 LLM을 호출한다. - 이 방식은 비용을 줄이면서도 변경 원인과 컨텍스트 상태 변화를 추적하게 해준다. ## 실용적인 결론 사내 LLM의 품질을 높이려면 검색 성능만 개선하기보다, 의미 단위·원문 근거·출처 간 관계·최신성·충돌 상태를 함께 관리해야 한다. 특히 자동화는 명확한 변경 감지와 관계 추출에 사용하고, 사내 용어 통합이나 중요한 정책 판단처럼 맥락 의존적인 문제는 근거를 제시한 뒤 사람의 승인을 받는 방식이 안전하다.

원문 읽기(새 탭에서 열림)
google원문

과학적 문제 해결 능력의 진전 (새 탭에서 열림)

구글 리서치는 대규모 언어 모델(LLM)이 실제 과학 연구 워크플로우에서 복잡한 문제를 해결할 수 있는지를 측정하기 위한 새로운 벤치마크인 'CURIE'를 공개했습니다. 기존의 과학 벤치마크들이 단답형 지식 회상에 치중했던 것과 달리, CURIE는 수 만 단어에 달하는 전문 논문 전체를 읽고 정보를 추출하며 다단계 추론을 수행하는 능력을 평가합니다. 이는 AI가 단순한 지식 검색 도구를 넘어 과학자의 실질적인 연구 보조자로 진화하는 과정에서 필수적인 평가 지표가 될 것입니다. **CURIE: 과학적 추론 및 긴 문맥 이해를 위한 다학제 벤치마크** * 재료 과학, 응집 물질 물리학, 양자 컴퓨팅, 지리 공간 분석, 생물 다양성, 단백질 등 6개 과학 분야의 전문 지식을 다룹니다. * 평균 15,000단어에 달하는 전문 연구 논문을 입력값으로 사용하여, 정보 추출, 개념 추적, 대수적 조작, 다중 모드 이해 등 10가지의 구체적인 태스크를 수행합니다. * 단순한 선택지형 문항이 아닌 실제 연구 과정에서 발생하는 워크플로우를 반영하며, 정답 데이터는 평균 954단어에 달하는 상세한 설명을 포함합니다. * 각 도메인의 전문가들이 과제 정의, 정답 생성, 난이도 등급 부여 등에 직접 참여하여 벤치마크의 정확성과 전문성을 확보했습니다. **SPIQA 및 FEABench를 통한 시각적 데이터와 도구 활용 평가** * SPIQA 데이터셋은 모델이 과학 논문에 포함된 복잡한 그림(Figure)과 표(Table)의 정보를 바탕으로 질의응답을 수행하는 멀티모달 능력을 측정합니다. * FEABench는 LLM 에이전트가 유한요소해석(FEA) 소프트웨어를 사용하여 물리, 수학, 공학적 문제를 시뮬레이션하고 해결할 수 있는지 평가하는 도구 활용 능력을 테스트합니다. * 이러한 추가 벤치마크들은 텍스트 기반 추론을 넘어 실험 데이터 해석과 시뮬레이션 도구 실행이라는 실제 과학적 방법론을 포괄합니다. **프로그래밍 방식과 모델 기반 평가의 결합** * 과학적 답변의 특성상 정답 형식이 JSON, Latex 수식, YAML 등 매우 다양하기 때문에, ROUGE-L이나 IoU(Intersection-over-Union) 같은 전통적인 프로그래밍 방식의 지표를 활용합니다. * 자유 형식의 서술형 답변을 평가하기 위해 'LLM-as-a-judge' 방식을 병행하여, 전문가의 주관적 평가와 높은 상관관계를 가지는 정밀한 채점 시스템을 구축했습니다. * Gemini 1.5 Pro와 같은 최신 모델들에 대한 평가 결과, 복잡한 과학적 워크플로우 처리 능력이 크게 향상되었으나 여전히 심층적인 추론 영역에서는 개선의 여지가 있음이 확인되었습니다. CURIE와 관련 데이터셋은 과학 분야 LLM의 성능을 객관적으로 측정하는 데 중요한 도구가 될 것입니다. 연구자들은 모델이 장문의 전문 텍스트뿐만 아니라 수식과 시각적 데이터를 통합적으로 이해하고 도구를 활용할 수 있도록 개발 방향을 설정해야 하며, CURIE가 제공하는 복합적인 태스크를 통해 모델의 한계를 점검하고 실제 연구 현장에 적용 가능한 AI를 구축할 수 있습니다.