요새 대단히 핫한 팔란티어인데 대부분 주가에 대한 언급만 있고 실제 팔란티어의 군사적 역할이나 기능에 대해서는 제대로 분석하거나 하는 글이 없어서

팔란티어 공식 홈페이지와 문서, 영상, 팔란티어 개발 관련 교육, 심지어 직접 개발도 조금 해보면서 정리를 좀 해봤음. 



1. 팔란티어의 핵심 - 온톨로지


온톨로지의 핵심만 간단하게 추리자면 '현실 세계의 사건, 객체 간의 관계를 가상 세계로 진술하는 것'임. 

온톨로지는 인과 관계를 나타내지는 않음. 그냥 A와 B가 관계가 있다는 객관적 사실의 진술임. 


예시로 1. "너구리가 광망을 건드렸다" -> 2."광망 및 철책 점검을 위해 부대가 출동했다." 라는 2개의 사건이 있다고 가정해보자


실제 GOP에서 근무한 사람은 이 2개의 사건의 관계를 잘 알고 있겠지만 컴퓨터는 이를 이해할 수 없지. 

그렇기 때문에 광망을 건드리면 부대가 출동한다라는 관계성을 입력을 시켜주는거임. 


그렇다면 여기에서 컴퓨터는 이러한 질문을 할 수 있음.

과연 너구리가 광망을 건드렸기 때문에 부대가 출동한건가? 그저 광망만 건드려도 출동한건가?

만약 그저 영상 데이터 하나만 있었다면 팔란티어는

"너구리가 광망을 건드리면 부대가 출동한다" 여기에서 끝났겠지만


너구리가 아닌 다른 동물이어도 출동한 영상 데이터, 광망의 절곡 센서 그래프 데이터와 부대의 출동 시간 데이터를 온톨로지에 묶어버리면 다른 결론이 나버림. 


1차적으로 광망의 절곡이 기준이 된다는 것을 알거고 2차적으로는 부대 출동에 소요되는 시간, 그리고 출동하는데 필요한 절곡의 정도까지 머신러닝을 통해서 알아냄. 


즉 추론할 수 있는 결과가 달라진다는 것임. 그래서 온톨로지를 구축할 때는 도메인 지식을 가진 전문가가 필요함.  그래서 과거에는 온톨로지를 구축하는데 6개월 정도 소요됐는데 LLM이 결합되면서 1~2일 내에도 구축이 가능해질 정도가 되었음. 



1.1 온톨로지 모델의 구성 요소 


이러한 온톨로지 모델은 6개의 요소로 구성됨. 

가. 클래스, 인스턴스, 속성,  나. 관계, 계층구조, 제약조건임.


가.은 데이터고 나.는 구조, 논리임.


먼저 가. 데이터 파트부터 보자.


1) 클래스는 종류, 범주, 개념 등임. 예를 들어 짐승, 사람, 차량, 장소, 사건, 작전, 부대 등임. 


2) 인스턴스는 이러한 클래스의 실제임. 예를 들어 위에서 예시로 든 너구리 광망 절곡 사건에서 출동한 부대가 1분대였다 하면 1분대가 인스턴스임. 


3) 속성은 이러한 인스턴스의 값을 의미함. 1분대가 10명이라면 속성값 Size는 10이 되는 거지. 


이러한 클래스, 인스턴스, 속성 들은 계층화 시켜서 세부화 시킬 수도 있어.

지금은 부대 안에 속성으로 분대라는 값이 들어가지만 분대, 소대, 중대를 클래스로 만들고 집어넣는 것도 가능함.



나. 구조, 논리 파트


4) 관계 

관계는 온톨로지의 핵심이라고도 할 수 있음. 

관계는 도메인, 관계명, 레인지 3개로 구성됨. 


Drone → located_at → Base_X


여기서 드론이 도메인, located_at 이 관계명, Base_X가 레인지임. 

도메인은 출발점이고 레인지는 도착점이라고 생각하면 됨. 


위 관계를 설명하면 "드론이 베이스 X에 위치하고 있다" 가 됨.


팔란티어에서 제공하는 기본 템플릿은 크게 4개인데


located_at객체가 어느 위치에 있는가Drone → located_at → Base_X
employed_by인물과 소속 조직Agent_A → employed_by → IntelligenceUnit
uses도구/기기 사용Unit → uses → Sensor_5
reports_to상하 관계Officer_A → reports_to → Commander_B


이 4개에 특성 부여(필요 조건, 역 성립 등 다른 논리 조건들) 도 가능하고 사용자가 필요하다면 추가, 수정, 확장도 가능함. 



5) 계층 구조

위의 관계는 클래스, 인스턴스, 속성에 관계없이 의미만 있다면 연결하는 거라면 계층 구조는 클래스에만 적용되면 개념 간의 상하를 분류함. 

예를 들어 소대는 부대의 하위 개념이니 Squad ⊆ Unit 이렇게 표현함.

그래서 "A는 B의 일종이다", "소대는 부대의 일종이다"라는 개념을 컴퓨터에게 인지시키는 것임.  



6) 제약 조건 

제약 조건은 데이터를 검증하고 논리적인 오류를 감지하는데 사용됨. 이는 모델링의 안정성을 유지하고 추론을 하기 위한 조건으로 사용됨. 

인스턴스와의 차이점을 설명하면 인스턴스는 특정 시점의 객체이고 그 상태가 변화하는 것이고 제약조건은 불변하는 규칙임. 


예를 들어 보병인 브라보 분대가 있다고 치면 브라보 분대의 인원 수는 처음엔 10명이었다가 인원이 추가되서 12명이 됐다가 교전으로 6명이 될 수 있음. 

브라보 분대의 인원 수는 인스턴스임. 

제약 조건은 보병의 이동속도는 시간당 4km 라는 일반적으로 가지는 규범적 특성으로 불변 지식임. 


이 제약 조건을 기반으로 "브라보 분대는 6명이지만 시속 4km로 이동해서 작전지역에서 2시간 이내 이탈하여 안전지대로 복귀할 수 있다" 라는 추론을 가능케 하는 것임.  



여기까지 온톨로지의 개념을 정리해봄. 정리하면 온톨로지는 실제 세계를 컴퓨터에게 이해시키는 모델이라고 생각하면 됨.



반응 좋으면 다음 편도 적어봄