Exowatt는 AI 데이터 센터와 같은 에너지 집약적 애플리케이션에 안정적인 전력을 공급하는 모듈형 디스패치 가능 태양광 시스템을 구축합니다. 대표 제품인 Exowatt P3는 광학 렌즈를 통해 태양 에너지를 포집하고, 이를 장시간 열 배터리에 열로 저장하며, 열기관을 통해 필요할 때 전기를 공급합니다. 계통연계형 태양광 발전 시스템과 달리 P3는 전력계 뒤에서 데이터 센터에 직접 전력을 공급하여, 데이터 센터가 수년에 걸친 계통 연계 대기 없이 온라인 상태가 될 수 있도록 지원합니다. Exowatt는 태양광 시스템의 실시간 알람을 모니터링·분류하고 운영 의사결정을 지원하는 AI 에이전트 플릿을 구축하고 있으며, 이는 종종 연결성이 제한적이거나 없는 엣지 환경에서 운영됩니다. 테스트 벤치에서 제조 단계 및 수천 대의 현장 배치 장치로 플릿이 확장됨에 따라, 이러한 시스템을 운영하는 인텔리전스 계층도 함께 확장되어야 합니다.
이 게시물에서는 Exowatt이 Amazon SageMaker AI 서버리스 모델 커스터마이제이션을 사용하여 반복 가능한 AI 파이프라인을 구축한 방법을 보여줍니다. 이 파이프라인은 엣지와 클라우드라는 두 가지 배포 대상을 위한 작업별 파인튜닝 모델을 생산하며, 최대 49배 낮은 비용으로 프론티어 모델보다 높은 정확도를 달성합니다.
여기서 설명하는 두 모델은 해당 파이프라인의 첫 번째 결과물일 뿐 최종 목표가 아닙니다. 이 협업의 더 지속적인 성과는 파이프라인 그 자체였습니다. 즉, 원시 운영 데이터에서 검증된 훈련 세트, 파인튜닝된 모델, 평가된 배포 아티팩트에 이르는 반복 가능한 경로입니다. Exowatt는 이제 이 경로를 몇 달이 아닌 며칠 만에 실행할 수 있습니다. 알람 분류와 에너지 시장 분석은 동일한 접근 방식이 적용될 수 있는 수많은 좁고 높은 가치의 작업 중 두 가지입니다.
과제: 물리적 에너지 인프라 위의 AI
Exowatt의 에너지 관리 시스템(EMS)은 끊임없이 늘어나는 운영 현장 플릿 전반에서 구동됩니다. 각 현장은 스펙을 벗어나 작동하는 하드웨어 구성 요소, 끊긴 연결, 허용 범위를 벗어난 전압 판독값 등 지속적으로 알람을 생성합니다. 플릿이 수천 대의 현장 장치로 확장되면 인간 운영자가 모든 현장을 실시간으로 모니터링할 수 없습니다. Exowatt는 각 현장의 알람 상태를 읽고 올바른 다음 조치를 자율적이고 신뢰할 수 있게 취하거나 권고할 수 있는 AI 에이전트가 필요했습니다.
프론티어 모델로는 이 문제를 해결할 수 없었습니다. 이유는 세 가지입니다:
- 작업이 좁고 독점적입니다. Exowatt의 EMS에서의 알람 분류는 해당 회사의 특정 하드웨어, 데이터, 운영 로직에 의존합니다. 범용 프론티어 모델은 이에 특화되어 있지 않습니다.
- GPU 없이, 그리고 종종 인터넷 없이 엣지에서 실행되어야 합니다. 많은 현장이 연결성이 제한적이거나 간헐적이므로, 프론티어 모델에 대한 클라우드 호출에 의존하는 에이전트는 연결이 끊기면 운영자를 커버리지 없이 방치하게 됩니다.
- 플릿 수준에서는 비용이 확장되지 않습니다. 수천 개 현장에 걸쳐 모든 운영 의사결정을 프론티어 모델로 라우팅하는 것은 지속적으로 반복되는 의사결정에 있어 경제적이지 않습니다.
바로 이 지점에서 Exowatt는 모델 커스터마이제이션으로 전환했습니다. Exowatt의 초기 파인튜닝 워크플로는 오픈 웨이트 모델 선택, 컨테이너 구축, 그리고 실험을 실행하기 전에 커스텀 훈련 레시피 작성에 의존했습니다. 이는 모델 실험의 주요 걸림돌이었습니다. 또한 모델 파인튜닝에 필요한 GPU 하드웨어 요구 사항을 결정해야 했습니다. 팀이 실험 속도를 높이면서 각 실행은 특정 GPU 인스턴스 유형을 먼저 선택한 다음 해당 자체 선택 용량을 사용할 수 있게 되기를 기다려야 했습니다. 선택한 인스턴스 유형을 사용할 수 없는 경우 실행 시작이 지연되거나 완전히 차단될 수 있었습니다.
이들은 GPU가 없는 엣지 컨트롤러에서 실행할 수 있을 만큼 작으면서도, 특정 작업에서 프론티어 모델과 비교해 자율적으로 행동할 수 있을 만큼 정확한 모델이 필요했습니다. 파인튜닝이 그 격차를 해소했습니다. 즉, 클라우드와 엣지 모두에 배포 가능한 소형 작업 특화 모델입니다.
솔루션 개요
Exowatt는 Amazon SageMaker AI에서 클라우드 네이티브 서버리스 모델 커스터마이제이션 접근 방식을 채택하여 이러한 과제를 해결했습니다. 동일한 훈련 파이프라인이 엣지와 클라우드라는 두 가지 배포 대상을 위한 파인튜닝 모델을 생산합니다.
Exowatt는 첫 번째 사용 사례인 엣지 알람 분류를 위해 Qwen3-1.7B 모델에 이 접근 방식을 구현한 다음, 두 번째 사용 사례인 클라우드 에너지 시장 분석을 위해 Qwen3-14B 모델에 동일한 접근 방식을 적용했습니다. 이 회사는 이 솔루션을 재사용하여 플릿 전반에 걸쳐 더 작은 작업별 모델을 구축할 계획입니다.
그림 1: 빌드, 클라우드 서빙, 엣지 서빙 단계를 아우르는 Exowatt의 파인튜닝 및 배포 파이프라인
다음 7개의 AWS 서비스가 관리해야 할 인스턴스, 클러스터, 엔드포인트 없이 이 AI 파이프라인을 구동합니다:
| AWS 서비스 | 용도 |
| Amazon Simple Storage Service (Amazon S3) | 데이터, 매니페스트, 모델 아티팩트 및 테스트 세트 |
| Amazon SageMaker AI 서버리스 파인튜닝 | Public Hub 레시피에서 시작되는 모든 파인튜닝 실행 |
| Amazon SageMaker AI 서버리스 평가 | 관리형 작업으로 점수가 매겨진 후보당 2,000개의 답변 |
| SageMaker Model Registry | 증거 및 지표와 함께 완료된 모든 파인튜닝 |
| Amazon Bedrock Custom Model Import | Cloud EMS용으로 파인튜닝된 Qwen3-14B를 호스팅하며, Cloud EMS 서비스에서 프라이빗하게 호출됩니다. 유휴 비용 없음 |
| Amazon Bedrock (Claude, Qwen3) | 패러프레이즈(학습 데이터에서 답변당 세 개의 재작성) 및 프론티어 모델 벤치마킹 알람 트리아지 패러프레이즈는 Amazon Bedrock에서 Qwen3-VL-235B를 사용합니다. 에너지 시장 패러프레이즈는 Amazon Bedrock에서 Claude Sonnet 4.6을 사용합니다. |
| AWS Lambda + Amazon EventBridge | 서버리스 평가 스코어러 및 커스텀 모델의 예약된 keep-warm 호출 |
워크플로는 세 단계로 구성됩니다:
모델 커스터마이징(클라우드): Exowatt는 SageMaker AI에서 서버리스 모델 커스터마이징, 저순위 적응(Low-Rank Adaptation, LoRA) 및 지도 학습 기반 파인튜닝(supervised fine-tuning, SFT)을 사용하여 오픈 웨이트 베이스 모델을 파인튜닝합니다. 서버리스 학습은 필요할 때 용량을 할당하기 때문에 팀은 자체 확보한 GPU를 기다리는 대신 하루에 여러 실험을 실행할 수 있습니다. 평가 후 가장 좋은 모델은 SageMaker AI Model Registry에 등록됩니다.
엣지 배포: 알람 트리아지와 같이 지연 시간에 민감하고 연결성이 제한된 작업의 경우, 파인튜닝된 Qwen3-1.7B 모델을 고정(freeze)하고 GGUF 형식으로 양자화하여 현장 컨트롤러를 사용해 엣지의 Kubernetes 파드 내에서 llama.cpp로 실행합니다. 이 경로는 GPU가 필요 없으며 인터넷 연결 없이도 작동합니다.
클라우드 배포(탄력적): 인터넷에 연결된 플릿 수준 분석의 경우, 파인튜닝된 Qwen3-14B 에너지 시장 모델은 Amazon Bedrock Custom Model Import를 통해 제공되며, 유휴 비용 없이 모델이 활성화된 동안에만 과금됩니다.
왜 Amazon SageMaker AI 서버리스 모델 커스터마이징인가
Amazon SageMaker AI 서버리스 모델 커스터마이징 서비스는 SageMaker Public Hub의 바로 사용 가능한 파인튜닝 레시피와 함께 폭넓은 오픈 웨이트 모델을 제공하므로, 팀은 그렇지 않으면 몇 주가 걸릴 수 있는 커스텀 학습 컨테이너 구축 및 최적화 작업을 피할 수 있었습니다. Exowatt에게 이것은 파인튜닝을 드물게 예약되는 이벤트에서 일상적인 온디맨드 작업으로 바꾸어 주었습니다. 이를 통해 실험 비용을 낮게 유지하면서 신속한 실험-테스트 루프를 실용적으로 만들 수 있습니다.
프로비저닝된 GPU에서의 파인튜닝은 특정 인스턴스 유형을 선택하고, 해당 용량을 요청하고, 사용 가능해지기를 기다리고, 작업을 실행하고, 확보한 기간 동안 인스턴스 비용을 지불하는 과정을 필요로 합니다. 확보된 시간에는 일반적으로 전용 인스턴스를 계속 실행하는 동안 실험 사이의 유휴 시간이 포함됩니다. 많은 실험을 수행하는 소규모 팀에게는 이것이 혁신을 느리게 하고 비용을 증가시킵니다. Amazon SageMaker AI 서버리스 모델 커스터마이징은 파인튜닝 작업을 실행하는 데 필요한 인프라를 자동으로 관리하고 오케스트레이션하여 용량 관리의 부담을 없애고, 파인튜닝 작업이 실행되는 시간에 대해서만 요금을 청구합니다.
사용 사례 1: Qwen3-1.7B를 활용한 엣지 알람 트리아지
Exowatt 사이트는 하루 24시간 알람을 발생시킵니다. 현장의 소형 모델은 각 알람을 사이트 자체의 상태 및 텔레메트리와 함께 읽고, 인용된 근거와 함께 소수의 고정된 분류 집합(예: 오프라인 시스템, 정격 저하 컴포넌트, 센서 불일치) 중 하나 또는 근거가 불충분할 경우 명시적 기권(abstention)을 반환합니다.
모델 선택 및 학습 데이터
팀은 먼저 프롬프팅과 가드레일을 갖춘 Qwen3-8B를 시도했지만 목표(0.735 macro-F1)에 미치지 못하고 정체되었습니다. 파인튜닝된 Qwen3-1.7B가 이를 바꾸었습니다. 이 모델은 약 5분의 1에 해당하는 파라미터 수로 이 좁은 단일 턴 작업에서 Qwen3-8B plus 프롬프팅 설정을 능가했으며, GPU 없는 엣지 추론에 적합할 만큼 작게 유지되었습니다. 12개 데이터셋 버전에 걸친 13개의 파인튜닝된 Qwen3-8B 후보는 프롬프팅 기반 8B 베이스라인을 결코 능가하지 못했습니다. 더 다양한 데이터를 가진 더 작은 모델이 그렇게 했습니다.
학습 세트는 작고 엄선되었습니다: 생성된 사이트 시나리오에 대한 684개의 검증된 결정과 각 결정을 고정한 채 문구를 재작성한 1,838개의 인증된 패러프레이즈로 구성된 2,522개의 예제입니다. 패러프레이즈는 Amazon Bedrock에서 Qwen3-235B로 생성되어 약 $3.72가 들었습니다. 각 패러프레이즈는 결정, 레이블, 근거 인용 및 모든 숫자가 변경되지 않았음을 결정론적 검사가 확인한 경우에만 유지되었습니다(2,218개 후보 중 1,838개가 통과). 한 고장 계열은 학습에서 완전히 제외되었으며, 320개 사례가 테스트용으로 확보되었습니다.
학습 및 배포
학습은 SageMaker 서버리스 파인튜닝에서 약 32분 만에 완료되었으며 비용은 약 $20–$25였습니다. 8비트(약 1.71 GiB)로 양자화된 이 모델은 사이트의 기존 CPU 서버에서 6 GiB llama.cpp 파드로 오프라인에서 실행됩니다. t3.2xlarge 인스턴스 유형에서도 실행됩니다.
사용 사례 2: Qwen3-14B를 활용한 클라우드 에너지 시장 분석
디스패치 가능한 저장 장치는 타이밍을 운영 결정으로 바꿉니다. 각 사이트는 자체 부하를 위해 저장된 에너지를 얼마나 보유할지와 언제 방출할지를 끊임없이 결정해야 하며, 계통 연계 사이트의 경우 시장 상황이 그 선택에 반영됩니다. 파인튜닝된 모델은 6시간 분량의 실시간 시장 데이터 패킷(실시간 가격, 전날 예측 및 계통 공지 약 90행)을 읽고 약 4초 만에 5가지 시장 이벤트(예: 가격 급등 또는 희소성 애더) 중 하나를 반환합니다. 모든 주장은 디스패치 전략에 정보를 제공하기 위해 특정 데이터 행에 연결됩니다.
왜 Qwen3-14B인가
Qwen3-14B는 Amazon Bedrock Custom Model Import에서 지원되고, 관리할 커스텀 컨테이너나 인스턴스 유형이 필요 없는 바로 사용 가능한 LoRA 레시피와 함께 SageMaker Public Hub 모델로 제공되며, 약 28 GiB로 비용 효율적으로 제공할 수 있을 만큼 작기 때문에 선택되었습니다.
학습 데이터 및 프로세스
Exowatt는 5년간의 이력(12개 테이블에 걸쳐 약 163백만 행)에서 가져온 공개 Electric Reliability Council of Texas (ERCOT) 시장 데이터로 모델을 파인튜닝했습니다. 팀은 이 데이터를 규칙 기반으로 레이블링하여 25,000개의 예제(학습용 22,000개, 검증용 1,000개, 테스트용으로 확보된 2,000개)를 만들었습니다. 그런 다음 Amazon Bedrock에서 Anthropic의 Claude Sonnet 4.6이 각 예제의 문구를 레이블과 숫자 필드를 고정한 채 재작성하도록 하여 학습 세트를 86,281행으로 확장했습니다.
학습은 단일 LoRA 에포크(rank 16, alpha 32)로 진행되었으며, 최대 4개의 작업을 동시에 실행하는 관리형 서버리스 파인튜닝으로 약 8.5시간 만에 완료되었습니다. 팀은 초기 계획부터 챔피언 모델이 Cloud EMS에서 서빙되기까지 6일 동안 23개의 작업과 약 155시간의 관리형 학습을 실행했습니다.
결정적인 개선은 패러프레이즈 다양성에서 나왔습니다. 답변당 세 개의 재작성 문장을 추가하자 macro-F1이 0.950에서 0.975로 상승했습니다. 베이스 모델은 macro-F1이 0.415에 불과했습니다. 유효한 JSON을 생성했지만 아직 해당 시장을 알지 못했습니다. 파인튜닝이 이를 해결했습니다.
배포
병합된 체크포인트는 약 14분 만에 Amazon Bedrock Custom Model Import로 가져와졌습니다. 이 모델은 유휴 비용 없이运行되며 활성 상태일 때만 시간당 $6.86로 청구됩니다.
벤치마크 결과
엣지 알람 분류 작업에서 파인튜닝된 Qwen3-1.7B는 유효한 답변을 생성하지 못하던 모델에서 320개 테스트 케이스 기준 0.911 macro-F1을 달성하며 모든 프론티어 베이스라인을 앞섰습니다. 동일한 파인튜닝-평가 루프를 2,000개 테스트 케이스의 에너지 시장 작업에 적용한 결과, Qwen3-14B는 0.975 macro-F1에 도달했으며, 이번에도 프론티어 베이스라인을 앞서고 비용은 그 일부에 불과했습니다. 두 경우 모두 작은 파인튜닝된 모델이 특정 작업에서 훨씬 더 큰 범용 모델을 능가했습니다.
두 모델은 모든 주장이 특정 입력 데이터 행을 인용하는 엄격한 JSON을 반환합니다. 뒷받침되지 않는 주장은 운영자에게 전달되기 전에 제거되며, 이것이 팀이 자율적인 물리적 환경에서 소형 모델을 신뢰할 수 있는 이유입니다.
| 모델 | Macro-F1 | $ / 1,000 결정 | 오프라인 가능? |
| Claude Haiku 4.5 | 0.519 | ~$4.70 | 아니오 |
| Claude Opus 4.7 | 0.680 | ~$22 | 아니오 |
| Claude Sonnet 4.6 | 0.698 | ~$15 | 아니오 |
| 파인튜닝된 Qwen3-1.7B | 0.911 | $0* | 예 |
| 베이스 Qwen3-1.7B | 점수 없음 (유효성 게이트 통과 실패) |
표 1: 엣지 알람 분류 결과, 파인튜닝된 Qwen3-1.7B와 프론티어 모델 비교
1,000 결정당 $0는 측정된 API 또는 GPU 추론 비용이 없음을 의미합니다. 양자화된 모델은 현장의 기존 CPU에서 실행됩니다.
| 모델 | Macro-F1 | 이벤트 정확도 | 유효한 JSON | $ / 1,000 답변 |
| 베이스 Qwen3-14B | 0.415 | 0.54 | 0.834 | $0.64 |
| Claude Sonnet 4.6 | 0.538 | 0.584 | 0.991 | $17.79 |
| Claude Opus 4.7 | 0.625 | 0.718 | 0.9995 | $29.26 |
| 파인튜닝된 Qwen3-14B | 0.975 | 0.983 | 1.000 | $0.60 |
표 2: 클라우드 에너지 시장 분석 결과, 파인튜닝된 Qwen3-14B와 프론티어 모델 비교
비용은 측정된 답변당 토큰 수에 Amazon Bedrock 정가를 곱한 값입니다. 파인튜닝을 통해 오픈 모델이 최하위에서 1위로 올라섰습니다: 답변 1,000건당 약 49배 낮은 비용($0.60 대 $29.26)으로 Claude Opus 4.7 대비 +0.35 macro-F1 (95 퍼센트 신뢰구간 0.324~0.371)을 달성했습니다. 이 모델은 이후 진행된 두 번째 테스트 세트에서도 0.968 macro-F1을 유지했습니다.
비즈니스 효과
더 빠른 반복과 더 빠른 시장 출시: Exowatt는 맞춤화된 모델을 단 9일 만에 실험 단계에서 프로덕션으로 옮겼습니다. 팀이 직접 커스텀 컨테이너와 학습 레시피를 구축·최적화하고, GPU를 프로비저닝하며, 인프라를 관리해야 했다면 이 과정은 수개월이 걸렸을 수 있습니다. SageMaker AI 서버리스 모델 커스터마이징을 통해 팀은 용량 요청 없이 최대 4개의 학습 작업을 동시에 실행하면서 Qwen3-1.7B를 약 32분 만에, Qwen3-14B를 약 8.5시간 만에 학습했습니다. 에너지 시장 사용 사례의 경우 Exowatt는 총 약 155시간의 관리형 학습에 해당하는 23개 작업을 실행했으며, 6일 만에 베이스 모델에서 파인튜닝된 모델을 Cloud EMS에서 서비스하도록 전환했습니다. 병합된 체크포인트는 약 14분 만에 Amazon Bedrock으로 가져왔습니다. 엔드투엔드 파이프라인은 7개의 AWS 서버리스 서비스를 사용했으며, Exowatt가 관리해야 할 인스턴스, 클러스터, 엔드포인트는 없었습니다.
프론티어 모델 대비 높은 정확도: 파인튜닝된 두 모델 모두 자체 과제에서 더 큰 프론티어 모델을 능가했습니다: Qwen3-1.7B는 0.911 macro-F1(Claude Sonnet 4.6의 0.698 대비), Qwen3-14B는 0.975(Claude Opus 4.7의 0.625 대비)를 기록했습니다.
두 배포 환경 모두에서 낮은 비용: 클라우드에서 Qwen3-14B는 답변 1,000건당 $0.60로 서비스되며 Claude Opus 4.7은 $29.26(약 49배 낮음)입니다. Amazon Bedrock Custom Model Import에서는 유휴 비용이 없고 활성 상태일 때만 시간당 $6.86이 발생합니다. 엣지에서는 양자화된 Qwen3-1.7B가 현장의 기존 CPU에서 실행되므로 추론당 비용이 없고 연결성에 대한 의존성도 없습니다.
근거 기반의 저위험 출력: 두 모델 모두에서 증거 펜스는 인용되지 않은 모든 주장(소스, 필드 또는 값이 입력과 문자 그대로 일치하지 않는 모든 증거 인용)을 제거했으며, 엣지 모델은 확신이 없을 때 추측하는 대신 응답을 보류합니다. 이 덕분에 팀은 현장의 클라우드 호스팅 복제본에서 섀도 모드로 자율 실행할 수 있었습니다.
교훈
특정 과제에서는 더 작은 파인튜닝 대규모 언어 모델이 대형 프론티어 모델을 능가할 수 있습니다: 파인튜닝된 Qwen3-1.7B 및 Qwen3-14B 모델은 각각 대상 과제에서 프론티어 모델을 능가했으며, 훨씬 작은 모델로 비용의 일부만 들여 더 높은 정확도를 제공했습니다.
데이터 품질과 다양성이 원시 볼륨과 추가 에포크보다 중요합니다: 범위가 좁은 과제에서는 모델 크기나 데이터 볼륨보다 데이터 품질이 더 중요했습니다. 알람 분류 모델에서 검증된 학습 다양성이 늘어나자 macro-F1이 0.584(검증된 684개 결정만으로 학습)에서 0.911(패러프레이즈로 확장된 2,522행 데이터 세트 사용)로 향상되었습니다. 동일한 행에 대해 단순히 더 많은 에포크를 실행한 경우에는 성능이 더 나빴습니다: 684개 원본 행으로 11 에포크(동일한 스텝 수)를 학습한 대조 실행은 0.879에 그쳤습니다. 전반적으로 큐레이션된 데이터가 데이터 세트 크기보다 더 중요했습니다.
프로비저닝 단계 제거가 팀의 작업 방식을 바꿉니다: 학습 실행이 더 이상 GPU 용량을 기다릴 필요가 없으면 파인튜닝은 드문 이벤트에서 일상적이고 반복적인 작업으로 바뀝니다.
하나의 학습 파이프라인으로 두 배포 대상을 지원: 모델 학습을 배포와 분리함으로써 Exowatt는 오프라인 엣지 배포와 연결된 플릿 수준 분석 모두에 동일한 파이프라인을 사용할 수 있게 되어, 운영이 간소화되고 클라우드에서의 모델 배포가 가속화되었습니다.
결론
Exowatt는 이제 모델 특화 데이터 준비부터 모델 배포까지 하나의 과제를 처리한 재사용 가능한 AI 파이프라인을 보유하고 있습니다. 서로 다른 과제에 대해 하나의 모델을 튜닝하는 대신, Exowatt는 새로운 디바이스 유형과 시장 과제가 온라인으로 전환됨에 따라 플릿 전반에서 각 과제별 고유한 데이터, 특정 모델, 평가를 갖춰 동일한 파인튜닝 원칙을 다양한 과제에 적용할 계획입니다.
이 패턴은 에너지 산업 분야를 넘어 일반화됩니다. 산업 분야 전반의 AI 엔지니어, 데이터 과학자, 고객이 동일한 원칙을 채택할 수 있습니다. Amazon SageMaker AI 서버리스 모델 커스터마이징을 저오버헤드 AI 파이프라인으로 사용하여 작고 과제 특화된 모델을 파인튜닝한 뒤, 작업이 이루어지는 곳에 배포하세요: 연결성이나 지연 시간이 요구하는 경우 엣지에, 탄력적 워크로드에는 Amazon SageMaker AI와 같은 관리형 클라우드 엔드포인트를 통해 배포하면 됩니다.
자세한 내용은 다음을 참조하세요 Amazon SageMaker AI 서버리스 모델 커스터마이징 및 Amazon Bedrock.