정직한 범위
이 페이지는 사이트의 나머지 내용을 문자 그대로 읽을 수 있게 하기 위해 존재한다. NANO가 아직 보여주지 못한 것은 다른 곳에서 암시하는 대신 여기에 적어 둔다.
한계
prior는 물리 기반이 아니라 합성이다
편향된 prior(사전 정보)는 WM-811K 웨이퍼 맵 자체를 왜곡해서 만든다. 반경 방향 편향, 평활화, 전역 오프셋과 게인이 그것이다. 파이프라인 어디에도 TCAD, CAE, RCWA 시뮬레이션은 없다. 실제 시뮬레이션 오차는 이 왜곡이 재현하지 못하는 구조를 갖는다 — 메시 아티팩트, 레시피 간 캘리브레이션 드리프트, 특정 조건에서 체계적으로 틀린 물리. 여기서 나온 결과는 방법에 대한 논거로서 이전될 뿐, 실제 시뮬레이션 출력에 대한 정확도 예측은 아니다.
WM-811K 라벨은 계측값이 아니다
웨이퍼 맵은 다이별 양품/불량의 이진 값이다. 실제 계측은 장비에 따라 달라지는 측정 오차를 가진 연속적이고 노이즈가 있는 값 — CD, 두께, 오버레이 — 을 만들어낸다.
--target continuous는 파이프라인 전체를 매끄럽고 잡음 있는 대체 필드에 대해 실행한다. 결과는 기존 결론을 확인해 주는 것이 아니라 두 가지를 뒤집는다. 두 실행 모두 게시 설정(웨이퍼 12장 × 시드 5개, 60 에피소드)이며, 이진 쪽은 WM-811K에서, 연속값 쪽은 대체 웨이퍼에서 측정했다 — 데이터셋에는 실행할 연속값 타깃이 없기 때문이다.
- 선택 규칙은 더 나빠지는 것이 아니라 더 좋아진다. 연속값 필드에서 NANO는 단순 MAE 기준으로 Random과 18.7% [15.4, 21.9], Grid와 8.8% [6.3, 11.3]로 구분된다. WM-811K에서는 단순 MAE 기준으로 둘 중 어느 쪽과도 구분되지 않으며, 지표를 balanced로 바꾸어야만 구분된다.
- Ablation은 타깃에 따라 서로 다른 답을 낸다. 연속값 필드에서는 신규성 항을 빼면 7.8% [6.2, 9.3]만큼 손해이고 uncertainty 단독은 세 항의 곱과 비긴다. WM-811K에서는 신규성 항을 빼도 구분되는 변화가 없고, uncertainty 단독은 세 항의 곱을 2.2% [0.6, 4.3]만큼 이긴다. 어떤 항이 제 몫을 하는지는 어떤 타깃을 두고 묻느냐에 따라 달라진다.
연속값 쪽은 대체 웨이퍼이므로, 둘을 합쳐 확립되는 것은 각각보다 좁다 — 선택 규칙의 우위는 타깃에 의존하며, 이 프로젝트는 실제 계측값에서 그것을 측정하지 않았다.
불확실성은 사용될 뿐, 캘리브레이션되었다고 주장하지 않는다
NANO는 불확실성 맵을 계산하고 그에 따라 위치의 순위를 매긴다. 이 맵이 캘리브레이션되었다고는 — 즉 제시된 구간이 명시된 비율로 참값을 포함한다고는 — 주장하지 않는다.
더 약한 성질, 즉 불확실성이 미측정 다이를 "추정이 얼마나 틀렸는지"에 따라 정렬한다는 성질은 이제 측정된다. 모든 실행이 에이전트가 한 번도 보지 않은 다이에 대해 Spearman 순위 상관과 구간별 신뢰도 곡선을 보고하며, 벤치마크 페이지가 둘 다 게시한다.
WM-811K에서는 그 성질이 성립한다 — 에이전트가 한 번도 보지 않은 다이 86,405개에 대해 통합 ρ = 0.63, 에피소드별 0.41 ± 0.25이고, 신뢰도 곡선은 10개 구간 전체에서 단조롭게 올라간다. 연속값 대체 웨이퍼에서는 성립하지 않는다. 통합 ρ ≈ 0.00이고, 측정 잡음을 완전히 없애도 여전히 살짝 음수로 남는다. 불확실성 맵은 측정 커버리지의 모델이며, 커버리지가 오차를 예측하는 것은 재구성 대상이 측정으로 분해되는 구조를 가질 때뿐이다. 매끄러운 필드에서는 추정의 오차가 측정이 드문 곳이 아니라 표면이 휘는 곳에 몰리고, 거리 기반 불확실성 맵은 그에 대해 할 말이 없다.
이는 읽히는 것보다 더 중요하다. 연속값 타깃이야말로 실제 계측에 더 가깝기 때문이다. NANO는 연속값 벤치마크에서도 여유 있게 이긴다 — 다만 설계가 내세우는 이유, 즉 불확실성 맵이 자신이 어디서 틀리는지 안다는 이유 때문은 아니다. 커버리지는 여전히 평가되지 않았고, 구간을 명시하지도 않으며, 이 불확실성 값을 확률로 사용하는 것은 어떤 경우에도 근거가 없다.
게시된 실행은 웨이퍼 12장이지, 데이터셋의 표본이 아니다
WM-811K에는 웨이퍼 맵이 811,457장 있다. 게시된 실행이 채점한 것은 그중 12장이다 — data/subsets/wm811k_eval.json에 기록된 층화 추출 한 번(시드 0, 웨이퍼당 다이 400개 이상, 패턴 클래스 8종). 이는 60개 에피소드를 동일한 baseline과 짝지어 비교하기에 충분하고, 이 사이트의 신뢰구간이 이 웨이퍼들에 대해서는 말 그대로의 의미를 갖기에도 충분하다. 그러나 데이터셋의 분포에 대한 주장도, 층화하지 않은 웨이퍼에 대한 주장도, 패턴 라벨이 아예 없는 638,507장에 대한 주장도 아니다. 서브셋을 넓히는 데는 플래그 하나(--wafers)와 재실행 한 번이면 된다.
파이프라인은 WM-811K 없이도 nano.data.synthetic_wafers가 생성한 웨이퍼 맵으로 실행된다. 덕분에 코드를 테스트할 수 있고 아무것도 내려받기 전에 루프를 돌려볼 수 있지만, 데이터셋에 대해서는 아무것도 입증하지 못한다. 대체 웨이퍼 실행은 결과 파일에 dataset.name = "synthetic-wafers"와 주석을 남기고, 모든 명령이 경고를 출력하며, 이 사이트의 결과 표에도 그렇게 표시된다. 대체 웨이퍼 실행 결과는 이 저장소에 커밋하지 않는다.
획득 규칙의 세 항 중 둘은 여기서 제 값을 하지 못한다
python -m nano.benchmark --ablation은 선택 규칙에서 항을 빼고 실행한다. WM-811K에서는 uncertainty 항 단독 — 게시된 규칙에서 나머지 두 항을 모두 제거한 것 — 이 balanced MAE 0.3403으로 세 항의 곱 0.3479보다 2.2% [0.6, 4.3] 낫고, 페어링 신뢰구간도 0에서 분리된다. 신규성 항만 빼는 경우(uncertainty × disagreement)에는 구분되는 변화가 없다. 종합하면, 이 데이터셋에서 불일치 항과 신규성 항은 정확도를 사고 있지 않으며 실제로 일하는 것은 uncertainty다.
이는 설계에 반하는 결과이고, 대체물이 아니라 데이터셋에서 측정된 것이며, 그래서 각주가 아니라 벤치마크 페이지에 있다. 게시된 규칙은 여전히 세 항의 곱이며, 그 이유는 이제 좁다 — 이진 타깃 웨이퍼 12장은 방법 자체를 다시 정의할 근거가 되지 못하고, 두 항목 위의 연속값 실행은 이 발견을 뒤집는다. 지금도 --terms uncertainty로 축약된 규칙을 실행할 수 있으며, 그것을 그 규칙으로 게시하려면 이보다 넓은 실행이 필요하다.
추정기에는 하이퍼파라미터가 있고, 그것은 유도된 값이 아니라 선택된 값이다
length_scale(웨이퍼 폭의 1/12)과 prior_weight(prior를 "여기에는 보정이 필요 없다"고 말하는 측정 0.5회분의 증거로 취급)는 손으로 고른 고정값이다. 모든 전략 arm에서 동일하므로 — 따라서 NANO에게만 유리하게 작용할 수 없다 — 두 값 모두 results/benchmark_summary.json의 experiment.model에 기록된다. 그러나 이 값들에 대한 민감도 분석은 게시되어 있지 않으며, 다른 값 조합은 절대 수치를 움직일 것이다.
모든 측정의 비용은 동일하다
예산은 측정 횟수를 세며, 다이 하나는 어디에 있든 1단위의 비용을 갖는다. 실제 측정 비용은 스테이지 이동, 레시피 변경, 장비 가용성, 큐 대기 순서에 따라 달라진다. 비용을 무시하는 선택 규칙은 비싼 경로를 고를 수 있고, 비용을 고려하는 규칙은 측정 횟수에서는 지더라도 실제 소요 시간에서는 그 규칙을 이길 수 있다.
접근성과 스케줄링은 범위 밖이다
어떤 다이를 다음에 측정할 수 있는지 — 장비 배정, 웨이퍼 핸들링, 랏 우선순위, 스케줄링 윈도우 — 는 전혀 모델링되어 있지 않다. 프로토타입은 측정되지 않은 다이라면 무엇이든 즉시 측정 가능하다고 가정한다.
한 번에 웨이퍼 한 장, 웨이퍼 간 학습 없음
각 에피소드는 독립적이다. 한 웨이퍼에서 배운 것은 다음 웨이퍼로 전달되지 않으며, 랏 단위나 장비 단위의 구조도 활용하지 않는다. 이 덕분에 선택 규칙만 깔끔하게 분리해서 볼 수 있지만, 동시에 양산 시스템이라면 분명히 사용했을 정보원을 포기하는 것이기도 하다.
근거의 규모가 작다
공개된 설정은 많지 않은 수의 웨이퍼와 시드를 다루며, 그 값은 results/benchmark_summary.json에 기록되고 이 사이트의 모든 표 아래에 표시된다. 동일한 조건에서 선택 규칙을 비교하기에는 충분하다. 팹 규모의 검증은 아니며, 바로 그 이유로 벤치마크 페이지는 평균만이 아니라 산포를 함께 보고한다.
프로토타입이 입증하는 것
- 실제에 도달하는 경로가 예산을 집계하는 단 하나의 툴로만 열려 있도록 측정 선택 루프를 만들 수 있고, 그 덕분에 베이스라인과의 비교를 감사할 수 있다.
- 예측, 불확실성, prior 불일치를 하나의 점수로 뭉뚱그리지 않고 각각 들여다볼 수 있는 별도의 맵으로 만들어낼 수 있다.
- 고정된 예산, 동일한 초기 관측, 동일한 웨이퍼 조건에서 획득 함수 기반 선택을 Random 및 Grid와 공정하게 비교할 수 있으며 — 유리하든 아니든 그 결과는 시드로부터 재현 가능하다.
다음으로 갈 곳
위에서 입증한 것과 명확히 구분한다 — 이것들은 방향이지 결과가 아니다.
| 방향 | 무엇이 더해지는가 |
|---|---|
| SECOM 데이터셋 | 공간적 희소성이 아니라 피처 결측. 미지의 대상이 어디를 측정할지만이 아니라 어떤 측정 채널을 획득할지가 된다. |
| SEM / TEM 시야(FOV) 선택 | 관측 하나의 비용이 크고 시야가 매우 좁은 상황에서 이미징 위치와 배율을 선택하는 문제. |
| 실제 시뮬레이터 연동 | 합성 prior를 TCAD, CAE, RCWA 출력으로 대체하여, 좁히려는 Sim2Real 격차가 진짜가 되도록 한다. |
| 이력을 갖춘 웨이퍼 / 랏 / 장비 계층 | 각 값이 어디에서 왔는지 추적하면서 웨이퍼 간에 정보를 공유하여, 보정의 출처를 귀속할 수 있게 한다. |
| 이질적인 측정 비용 | 측정 1회당 가치가 아니라 비용 1단위당 가치를 점수화하는 획득 함수. 팹이 실제로 배포할 버전이다. |
| 불확실성 캘리브레이션 | 커버리지를 제대로 평가하여, 불확실성을 순위가 아니라 확률로 사용할 수 있게 한다. |
이 사이트를 읽는 방법
- 숫자는
results/benchmark_summary.json에서 나온 것만 실제 값이다. 파일이 없으면 사이트는 예시 값을 보여주는 대신 벤치마크를 실행하면 결과가 채워집니다라고 표시한다. - 개념 설명용 도식으로 표시된 다이어그램은 동작 원리를 설명하기 위해 작성한 수식으로 그린 것이다. 데이터가 아니다.
- Ground truth는 등장하는 곳마다 에이전트에게 비공개로 표시된다. 에이전트가 그것을 보지 못한다는 점이 전제의 전부이기 때문이다.
- 아직 실행되거나 게시되지 않은 것을 설명하는 페이지는 문서 상단의 경고 블록에 그 사실을 밝힌다.
이 사이트와 이 저장소 어디에도 기밀, 내부, 독점 데이터나 용어, 제품명은 등장하지 않는다.