-
Notifications
You must be signed in to change notification settings - Fork 0
Shared Field Judgment
2026-10-05 KST. 공개 모델 · 원본과 지표 · 컴파일러 연결 PR1231.
Gooo에 필드 이름, 두 후보식과 의도를 적습니다. 작은 판단기가 각 필드의 두 후보를 비교하고 점수를 합쳐 전체 코드 경로를 정렬합니다. 같은 도구를 제목·상태·사유의 세 조립 자리에 가져다 쓰는 모습입니다. 컴파일러가 조건문·변수·필드의 타입과 연결을 검사하고 실제로 만들어 실행합니다.
flowchart LR
S["Gooo: 후보식과 한영 의도"] --> F["필드별 특징 배열"]
F --> J["공유하는 작은 판단기"]
J --> P["여덟 조합의 순서와 필드 확률"]
P --> T["유한 예시로 조립·확인"]
T --> R["만든 코드, 맞은 항목, 남은 항목"]
모델을 생략하면 결정론적으로 조합을 시도합니다. 필드 수/문맥 크기가 모델의 범위를 벗어나면 그 이유를 기록하고 이 순서로 진행합니다. 생성한 코드의 런타임과 저장한 선택의 재구성은 추가 추론 없이 현재 입력으로 실행합니다.
앞선 혼합 의도 모델의 같은7,168개 소스/특징 관측을 재사용했습니다. 세 필드의 여덟 요구 조합은 모두 학습에 들어갔고, 새 본문과 표현의 평가 축은 따로 읽습니다. 새로운 Go 초기값에서 같은3,840회GPU 갱신을 했습니다.18,656개 매개변수 대신2,072개를 공유합니다.
| 지표 | 앞선 v2 FP32 | 공유 FP32 | 공유 QAT 삼진 학습 |
|---|---|---|---|
| 다른 본문·기본 표현, 첫 완전 조합 | 424/1,536 (27.60%) | 1,152/1,536 (75.00%) | 1,344/1,536 (87.50%) |
| 위 평가의 맞은 필드 | 2,942/4,608 | 4,224/4,608 | 4,416/4,608 |
| 다른 본문·새 표현, 첫 완전 조합 | 81/512 (15.82%) | 120/512 (23.44%) | 102/512 (19.92%) |
| 가중치 파일 | 74,624 B | 8,288 B | 446 B |
| 실제 실행 텐서 | 74,624 B | 8,288 B | 2,096 B + scale8 B |
| 문맥 해석을 포함한 따뜻한 판단 중앙값 | 15.96µs | 9.50µs | 9.29µs |
준비된 특징 배열 한 행의 FP32 계산은3.04µs, QAT는3.13µs였습니다. 이 배열 경로의 힙 할당은 호출당0회였습니다. 텍스트 해석과 전체 코드 생성은 별도 비용입니다. 각 요청은3,200 B workspace와 자신의 출력/선택 상태를 소유합니다.
직접 삼진화한 PTQ의 본문 첫 조합은168/1,536으로 낮았습니다. 작은 저장 형식과 학습 방식의 영향을 함께 봐야 합니다. 모든 변형과 실패를 공개합니다.
24개 소스를 다섯 방식과 예산1/2/8로 만들어360개 그래프·720회 실제 실행을
관측했습니다. 처음 보는 런타임 입력을 두 활동의 bind에 전달합니다. 생성
직후 실행했고 원시 출력에서 필드/출력/프로세스 지표를 다시 계산했습니다.
첫 후보에서 변환이 활성인 입력의 요구 필드는 결정론72/144개, 앞선 모델 108/144개, 공유 FP32/QAT 각각126/144개였습니다. 입력과 다른 값이 필요한 항목만 세면60/120,92/120,108/120,106/120개입니다. 유지 분기144/144개는 별도 분모입니다. 예산8의120개 그래프는 모두 새 입력12/12필드·8/8출력, 선택 예시15/15필드를 충족했습니다.
평가 축을 나누면 기본 표현의 활성 필드는 앞선 모델76/96개에서 공유 모델 96/96개로 올랐습니다. 새 표현8개 소스에서는 앞선 모델32/48개, 공유 모델30/48개였습니다. 작은 새 표현 묶음의 퇴행도 그대로 남깁니다.
전체 명령 중앙값은 결정론395.80ms, 공유 FP32 394.65ms였습니다. 생성·빌드· 시작 비용을 포함한 고정 순서 비교이며, 이 정도 차이로 전체 속도 향상을 판단하기 어렵습니다. 판단의 크기와 정확도, 조립의 전체 비용을 나눠 봅니다.
학습 프로세스는9.45초/CPU5.06초, 최대RAM477.9MiB였습니다. 한 코어를100%로 계산한 평균CPU는53.5%이며 호스트 전체CPU 증가량은 미측정입니다. MPS의 할당량은tensor13.56MiB/driver50.72MiB를 표본 관측했고GPU utilization은 측정하지 않았습니다. 새 실험 원본37.91MiB로, 기존 뱅크를 다시 복사하지 않습니다.
SDK는v0.2.23-experimental이며 컴파일러 main2c807d461afc68a7ebfbd277d1dd6e97f5168e92에 연결했습니다.
두 실행기의 깨끗한 빌드·설치와 공개 모델의 실행을 확인했습니다.
설치와 결과 읽기 · 현재 상태.
hf download asketeddy/gooo-record-shared-field-tiny-v1 \
models/qat_ternary/model.json models/qat_ternary/weights.bin \
demo.gooo.fixture demo-cases.json \
--revision 87f8c482d23dc0eaa41f5575f652e7ca61f44280 \
--local-dir ./gooo-field-model
gooo body-compose --source ./gooo-field-model/demo.gooo.fixture \
--model ./gooo-field-model/models/qat_ternary/model.json \
--cases ./gooo-field-model/demo-cases.json예제는 여덟 후보 예산을 제공합니다. --model을 생략하면 결정론적으로
진행합니다. 보고서에서 model_calls, 실제 후보 시도, 맞은 필드와 기대값을
읽습니다. 저장한 조립으로 다음 입력을 실행할 수 있습니다.
특징 계약은 triple_record_field_context_v1_shared_v1입니다. Go SDK의
PredictRecordSharedInto는 전체 문맥을 받고, PredictRecordSharedFeaturesInto는
미리 준비한 [768]float32 배열을 받습니다. RecordChoiceMarginals는 필드별
첫/둘째 후보 확률을 보여줍니다. 확률은 시도 순서를 정하며 완전성은 제공한
예시와 새 입력의 실행 관측으로 계산합니다.
필드별 후보를 같은 방식으로 읽는 구조가 이 작은 과제의 학습을 도왔습니다. 새로운 자연어 표현은 여전히 약합니다. 지금은 특징 배열이 선언 밖의 지역값 바인딩이나 필드 사이의 의존 관계를 표현하지 않습니다. 이 부분은 Gooo의 타입과 IR에 더 구체적인 판단 자료를 넣고, 작은 범위의 반대·혼합 요구로 확인할 과제입니다.
표현을 짧게 강제해 점수를 높이기보다, 전체 요구를 유지하고 어떤 필드/표현에서 선택이 흔들리는지 관측하려 합니다. 이번 관측은 한 구조 실험입니다.100가지 서로 다른 접근과 도메인 실행 확장은 계속 진행 중입니다.
연구의 전체26개 검사를 통과한 뒤 Linux360개 그래프 원본을 별도로 재계산했습니다. 새 표현 퇴행, PTQ 실패, 부분 결과도 유지합니다. 최초로컬 원본37.91MiB와 후속Linux 원본38.32MiB를 합친 논리적76.22MiB는 최초 64MiB목표를 넘습니다. 로컬의Linux 관측은8MB압축으로 보관해 메모리에서 검산했습니다. 두 단계의 용량을 숨기지 않고 기록합니다.
공개 가중치로 두 작업자의32개 요청을4회 관측했습니다. 매회 필드480/480개가
맞았고, 첫 응답은 입력 종료를 기다리지 않았습니다. 첫 실행497ms, 반복3회
8.812.3ms·RAM22.622.9MiB를 기록합니다. 제한된 요청의 완료 관측입니다.
읽기 도구의--text는 필드·한영 의도·실제 후보식과 확률을 보여줍니다. 예제의
제목은50:50동률, 상태는약99.9%로 관측했습니다. 확률은 시도 순서이며 실제
완전성은 별도의 실행으로 계산합니다. 짧은 사용법.
설치본에서도 별도4회 관측했습니다. 설치본의 첫 응답은483.816ms, 세 반복은12.16436.625ms, 작업자RAM은22.5323.27MiB였습니다. 모든4회에서32요청·선택 필드480/480개가 맞고 입력 종료 전에 첫 응답이 도착했습니다.
개발 후보의 수치와 이 설치 관측을 따로 보존하며 가장 빠른 값으로 대체하지 않습니다.