Repository navigation
Case Pooling Comparison
확인: 2026-10-11 KST.
작은 모델에는 소스와 함께 출력 사례, 중간 조건을 보여줍니다. 모델은 여러 사례의 정보를 작은 배열에 모아서 후보 순서를 고릅니다. 앞선 모델이 학습 자료도 충분히 맞히지 못해, 이번에는 이 정보를 모으는 방법을 바꿨습니다.
평균 방식은 각 사례에서 읽은 특징을 평균 냅니다. 극값 방식은 각 칸에서 절댓값이 가장 큰 특징을 남깁니다. 널리 쓰이는 두 요약 방식을 Gooo의 출력·조건 요구에 적용해 보는 비교입니다. 같은 초기값과 설정에서 각각 학습하므로 최종 가중치는 서로 달라집니다.
Gooo 문서 256개와 기대값·검사 계획을 원래 공개 소스에 고정한 뒤 모델 두 개를 한 번씩 학습했습니다. 학습에 쓰는 64개와 이후 확인하는 192개를 분리했습니다. 자료는 기존 세 가지 계산 틀에 새 상수를 넣은 관련 변형입니다. 한국어·영어 설명도 기존 표현을 재사용했습니다.
두 모델 모두 FP32 가중치 19,034개·76,136B를 사용합니다. Go에서 학습하고 판단하며, 문장 토큰을 만드는 과정 없이 소스에 적힌 네 후보의 순서를 고릅니다. 모델 판단은 첫 후보를 실행하기 전에 한 번 일어나고, 다음 후보를 확인할 때에는 다시 호출하지 않습니다.
| 첫 후보가 출력·조건과 별도 검사를 모두 만족 | 고정 순서 | 평균 | 극값 |
|---|---|---|---|
| 학습 문서 | 16/64 | 14/64 | 29/64 |
| 학습한 계산 틀의 새 변형 | 32/128 | 32/128 | 36/128 |
| 학습에서 제외한 계산 틀 | 16/64 | 16/64 | 16/64 |
극값 방식은 관련 평가에서 평균보다 14개를 더 맞히고 10개를 새로 틀렸습니다. 제외한 계산에서는 14개를 더 맞히고 14개를 새로 틀렸습니다. 학습에서 보인 차이에 비해 평가의 차이는 작았습니다. 개선·회귀가 일어난 모든 문서 ID를 공개 기록에 남겼습니다.
각 방식이 네 후보 안에서 계속 검사하면 최종적으로 256/256 문서의 작성된 사례와 별도 검사를 만족했습니다. 고정 순서도 같은 결과에 도달했습니다. 이 분모는 이번 문서와 검사에 해당합니다. 검사하지 않은 모든 입력의 동작까지 확인한 것은 아닙니다.
전체 후보 검사 수는 고정 640회, 평균 635회, 극값 607회였습니다. 직접 반환과 변수 대입으로 같은 계산을 적은 96쌍에서는 두 모델 모두 입력·점수·추천이 같았습니다.
| 항목 | 평균 | 극값 |
|---|---|---|
| 한 번의 학습 | 15.256초 | 15.045초 |
| 판단 중앙값, 각각 256회 | 95.938µs | 95.584µs |
| 판단 p95 | 102.166µs | 104.125µs |
Apple M4·RAM 16GiB에서 전체 한 번의 관측은 31.29초, CPU 시간은 30.98초, 최대 RSS는 77.031MiB였습니다. 평균적으로 한 코어의 약 99%에 해당하는 CPU 시간입니다. PC 전체의 순간 사용률 상승은 따로 측정하지 않았습니다. 메모리에는 두 학습과 모든 기록이 포함됩니다.
조립 구간 시간의 합계는 고정 26.149ms, 평균 62.495ms, 극값 62.948ms였습니다. 이 구간은 판단 준비와 후보 검사를 포함하고, 소스 해석·학습·별도 최종 검사는 제외합니다. 값싼 계산에서는 후보를 덜 확인해도 모델을 읽고 판단하는 비용이 더해집니다. 실행 순서와 다른 작업을 통제하지 않은 단회 관측이므로 작은 시간 차이는 그대로 기록합니다.
같은 저장 기록을 나중에 다시 집계했습니다. 학습·예측·후보 실행을 추가하지 않았고, 256개 소스와 768개 선택 기록의 식별값을 확인했습니다. 각 문서에는 요구를 만족하는 네 후보 중 하나가 기록돼 있어, 조건 비교 방향과 분기 반환 위치를 각각 비교할 수 있습니다.
| 관련 새 변형 128개에서 첫 선택 | 고정 순서 | 평균 | 극값 |
|---|---|---|---|
| 조건 비교 방향이 기록된 정답 후보와 같음 | 64/128 | 64/128 | 64/128 |
| 분기 반환 위치가 기록된 정답 후보와 같음 | 64/128 | 64/128 | 64/128 |
| 작성된 출력 8개가 모두 맞음 | 64/128 | 64/128 | 72/128 |
| 작성된 중간 조건 3개가 모두 맞음 | 64/128 | 64/128 | 64/128 |
| 출력과 조건이 함께 맞음 | 32/128 | 32/128 | 36/128 |
각 행의 분모는 문서 128개입니다. 출력·조건 행도 개별 사례를 합산한 비율이 아니라, 해당 문서의 사례를 전부 만족한 첫 후보의 수입니다. 두 결정의 정답 후보는 이번 구성에서 균등하게 분포합니다. 전체 성공이 조금 늘어도 각각의 결정이 더 잘 맞아졌다고 해석할 수는 없습니다.
학습 문서에서 분기 위치 일치는 평균32/64·극값48/64였지만, 비교 방향은 둘 다33/64였습니다. 제외한 계산 틀에서는 두 선택 모두 각32/64였습니다. 같은 기록을 나눈 사후 분석이므로 새 독립 평가로 세지 않습니다. 원인이 입력 표현인지 학습 방법인지는 아직 분리하지 못했습니다.
집계 소스와 원본 식별값·결과를 함께 보관했습니다. 다음 실험에서는 두 판단의 학습·평가 지표를 각각 남기고, 작은 모델이 학습 자료의 어떤 결정을 익히는지부터 확인하겠습니다.
현재 기본 모델은 유지합니다. 두 방식 모두 첫 선택 성적이 낮고, 후보 검사 수와 전체 시간도 함께 봐야 합니다. 다음 모델 실험에서는 출력·조건 정보를 유지하면서 학습 방법을 별도로 점검할 계획입니다. 학습량이나 모델 크기를 늘리면 해결된다는 근거는 아직 얻지 못했습니다.
언어 쪽에서는 첫 선택이 실패해도 작성된 요구를 따라 다음 후보로 진행하고, 처음의 실패와 최종 결과를 함께 읽을 수 있게 다듬고 있습니다. 작은 업무 도입 기준에서 이 흐름을 기존 Go 함수·테스트 변경과 비교할 계획입니다.
같은 원본을 다시 읽어, 소스 계산과 출력 사례를 유지하고 중간 조건만 반대로 적은 64쌍을 비교했습니다. 관련 평가 128개 문서를 묶은 것이며 새 실험 사례를 추가하지 않았습니다. 기록된 정답은 비교 순서와 분기 배치가 모두 달라져야 했습니다. 평균·극값 모델 모두 점수는 64쌍 전부 달라졌지만 첫 추천 경로는 한 쌍도 바뀌지 않았습니다.
출력 요구만 바꾼 64쌍에서는 비교 순서를 유지하고 분기 배치를 바꿔야 했습니다.
| 관련 평가의 출력 요구 변경 | 평균 | 극값 |
|---|---|---|
| 분기 배치가 달라진 쌍 | 4/64 | 44/64 |
| 유지되어야 할 비교 순서까지 달라진 쌍 | 4/64 | 36/64 |
| 양쪽 첫 선택 모두 요구를 충족한 쌍 | 0/64 | 4/64 |
두 표본 묶음은 같은 문서를 서로 다르게 짝지은 관측입니다. 서로 독립된 추가 데이터로 합산하지 않습니다. 학습에서 제외한 affine 유형은 조건 목표를 바꾸면 기대 출력도 함께 바뀌는 32쌍이어서 별도로 표시했습니다. 처음 읽기 도구가 모든 조건 쌍의 출력이 같다고 가정해 중단했고, 실제 배열을 비교해 이 경우를 따로 기록하도록 고쳤습니다.
조건 입력과 점수의 변화는 남아 있지만, 그 변화가 필요한 선택으로 이어지지 않은 구간이 보입니다. 다음에는 새 자료를 먼저 고정하고 조건에 맞는 비교 순서와 출력에 맞는 분기 배치를 나누어 학습·평가하는 실험을 설계합니다. 표현과 학습 방식 중 원인은 아직 확정하지 않았습니다. 모델 크기나 학습량을 늘리기 전에 두 선택의 관계를 확인할 근거입니다.
읽기 도구·방법과 전체 쌍의 원래 점수·선택을 공개했습니다. 새 학습·추론·후보 실행은 모두 0회이며, 원래 정답 기록을 독립적으로 재실행한 검증은 포함하지 않습니다.
원본 결과·두 가중치·검산기,
SDK PR61에 공개했습니다. 결과 자료는 약 1.4MiB입니다.
검산기는 기록과 모델 식별값을 읽고, 학습·예측·후보 실행을 새로 하지 않습니다.
로컬 전체 SDK 검사와 정적 검사, 검산기의 동시 실행 검사가 통과했습니다.
계획과 결과를 공개한 소스의 원래 push·PR CI를 통과해 main d80acd0c에 정상 병합했습니다.
병합된 소스의 원래 CI38090873163도
첫 실행에서 통과했습니다. 이 CI는 SDK와 저장 결과 검산기를 검사하며, 별도 모듈인 실험 실행기의
검사는 로컬에서 수행한 범위입니다. 공개·병합 과정에서 원래 학습과 관측을 반복하지 않았습니다.
새 컴파일러 배포는 이 실험에 포함되지 않았습니다. 후속으로 같은 가중치와 원래 실험 기록을
Hugging Face에 공개했습니다. 공개 파일의 체크섬을 대조했으며
새 학습·추론·후보 실행은 하지 않았습니다.
- 문서 홈
- 현재 상태와 지원 범위
- 소스 계산과 예시를 읽는0.6.34
- 작은 모델과 반환 가지 조립의0.6.33
- 문자열과 한 조건 조립의 0.6.32
- 문자열을 읽고 찾는 0.6.31
- 실패를 기록하며 조립을 이어가는 0.6.30
- 업무 규칙 예제와 실제 도입 기준
- 요구를 바꾼 뒤 결과 비교하기
- 결과 조회와 자체 모델의 0.6.28 배포
- 저장 결과를 비교하는 0.6.27 배포
- 작은 모델과 조립하는 0.6.26 배포
- 중간 조건을 확인하는 0.6.25 배포
- 분기 구성·재실행의 0.6.24 개발 후보
- 작은 도구로 발전시키는 Gooo
- 흐름도로 보는 Gooo
- 시작하기
- 언어 둘러보기
- 사용 흐름
- 작은 모델과 메타프로그래밍
- 우리 PC의 자체 경로 decision 모델
- 조건을 읽는 자체 모델과 실제 탐색
- SDK 0.2.39 자체 모델 받기
- 모델 선택 점수와 실제 실패
- 설명·변수 이름 변화의 27회 관측
- 작은 모델의 학습 범위를 넓힌 결과
- 같은 계산을 같은 모델 입력으로 읽기
- 사례를 통과해도 의도가 다를 때
- 사례를 모아 읽는 방식을 바꿔 보기
- 자체 결정 모델 받기 · Hugging Face
- 비교와 분기를 따로 배우면 나아질까
- 소스에 적는 중간 조건과 선택
- 지표와 증거
- 참고하고 감사하는 연구
- 최근 연구와 다음 작은 기능