{"id":"IL-0479","org":"Amazon Web Services","date":"2025-02-17","docs":[],"title":{"en":"Accelerator nodes with silent data corruption changed LLM training outputs, gradients and weights with no error signal","ko":"가속기 노드의 조용한 데이터 손상이 오류 신호 없이 LLM 학습의 계산값과 기울기와 가중치를 바꿨다"},"domain":["ai-infra"],"impact":{"scope":"15 unhealthy accelerator nodes studied: LLM training on them produced different weights, loss spikes in some fine-tuning runs and in one case a model with zero test accuracy on CosmosQA","users":"unknown","region":"unknown"},"review":{"written_by":"session","reviewed_at":null,"reviewed_by":null},"lessons":{"en":"SDC can change training for an unknown period before any loss spike appears, so watching the training loss is not enough. ABFT did not detect it reliably; the authors' possible explanations are that mismatches were too rare and small to exceed floating-point error bounds, that ABFT lowered accelerator utilization and with it the SDC rate, and that SDC may arise outside matrix multiplication; the authors suggest recomputation, for example a shadow data-parallel replica whose gradients are compared with a target rank's during the gradient all-reduce, and point at reducing the sharpness of the loss surface to limit the damage.","ko":"SDC는 학습 손실에 뚜렷한 신호 없이 일어날 수 있다. Node 10의 SDC는 하위 모듈 계산과 기울기를 꾸준히 흔들었지만 학습 손실은 사전 학습과 미세 조정 내내 정상 노드와 같았다. 따라서 손실이 튀기 전에 SDC가 얼마나 오래 학습에 영향을 줬는지 알 수 없다. 학습 손실만 모니터링해서는 SDC를 놓칠 수 있고, 극단적인 경우 손실이 튀며 모델이 완전히 망가진다. 체크섬을 붙인 행렬 곱셈인 ABFT로는 SDC를 높은 정밀도와 재현율로 잡지 못했다. 그래서 그림자 데이터 병렬 복제본으로 다시 계산해 기울기를 비교하는 방법이 실제로 SDC를 잡는 가장 나은 방법일 수 있다."},"related":[],"sources":[{"url":"https://arxiv.org/abs/2502.12340","kind":"paper","archived":"https://web.archive.org/web/20261001153835/https://arxiv.org/abs/2502.12340"}],"summary":{"en":"The paper, by authors at Amazon Web Services and Harvard University, studies silent data corruption (SDC), hardware producing incorrect results without any failure signal, on 15 unhealthy nodes that a cloud computing platform's fleet management had taken out of production because they showed SDC, and compares them with healthy production nodes. After a node is installed in a data center, the fleet management flow runs full-node collective communication stress tests, compute unit stress tests and a small LLM training run whose outputs are compared with precomputed golden values, and it runs them again when a node comes back from customer use.\n\nThe authors trained identical models on each unhealthy and healthy pair with deterministic execution from the XLA compiler, so that every difference came from SDC. They compared submodule outputs in a lock-step setup that overwrote the unhealthy node's tensors with the healthy node's after each self-attention and FFN module, compared gradients per optimizer step by copying the healthy parameters after every step, and then let whole pre-training and fine-tuning runs diverge. Mismatches were usually rare and the gradient noise small, at worst an L2 norm of the gradient difference 5.1% of the true gradient's on Node 11, but the weights converged to different optima and fine-tuning on some nodes had loss spikes that in one case fully corrupted the model. Checksummed matrix multiplication (algorithm-based fault tolerance, ABFT) flagged errors frequently only on Node 14, and more synchronization lowered accelerator utilization, which made SDC less frequent. The unhealthy nodes were held only for the study and are being repaired and returned to the production pool.","ko":"Amazon Web Services와 Harvard 대학교의 저자들은 SDC가 LLM 학습에 미치는 영향을 연구했다. 대상은 클라우드 플랫폼의 자동 플릿 관리가 SDC를 이유로 운영에서 뺀 가속기 노드 15대였고, 저자들은 이 노드들을 정상 운영 노드와 짝지어 비교했다. 노드는 데이터센터에 설치된 뒤 노드 전체의 집합 통신 스트레스 테스트, 계산 유닛 스트레스 테스트, 미리 계산한 정답과 결과를 비교하는 작은 LLM 학습을 거친다. 이 테스트는 고객 사용이 끝나 노드를 회수할 때에도 다시 돈다. 노드 가운데 일부는 처음에는 정상이었고 학습에 쓰인 뒤에 사전 점검에서 떨어지기 시작했다.\n\nXLA 컴파일러의 결정적 실행으로 두 노드의 계산 차이가 전부 SDC에서 오도록 맞춘 뒤 세 수준에서 비교했다. 하위 모듈 계산의 불일치 빈도는 평균적으로 낮았지만 노드마다 크게 달랐고, 일부 값은 정상 노드의 값과 크게 달랐다. 한 스텝의 기울기에 SDC가 더한 잡음은 작아서 가장 나쁜 Node 11에서도 정답 기울기 L2 노름의 5.1%였다. 그러나 여러 스텝을 지나면 학습 손실은 같아도 가중치가 정답에서 계속 멀어져 모델이 다른 최적점으로 수렴했다. 미세 조정에서는 일부 노드에서 손실이 크게 튀었고, Node 6에서는 CosmosQA 테스트 정확도가 0인 모델이 나왔다. 손실이 튀는지는 학습 과제의 손실 곡면에 따라 달랐고, OpenbookQA에서는 모든 비정상 노드의 손실 곡선이 정상 노드와 같았다.\n\n체크섬을 붙인 행렬 곱셈인 ABFT로 하위 모듈에서 SDC를 잡으려 했지만 Node 14를 빼고는 오류를 잡지 못했다. 연구에 쓴 비정상 노드는 연구를 위해 잠시 붙잡아 둔 것이고, 이후 수리를 거쳐 운영 풀로 돌아가는 중이다."},"trigger":null,"severity":"unknown","symptoms":["training-divergence"],"timeline":{"detected_after":null,"resolved_after":null},"date_kind":"published","detection":{"en":"The fleet management tests found the nodes: collective communication and compute unit stress tests and a small LLM training run compared with golden values, run after installation and when a node returns from customer use. Training loss showed nothing on most nodes.","ko":"클라우드 플랫폼의 플릿 관리 스트레스 테스트가 SDC를 보인 노드를 잡아 운영에서 뺐다. 이 테스트는 결정적으로 실행한 작은 LLM 학습의 결과를 미리 계산한 정답과 비교해, 정답과 다르거나 실행마다 결과가 달라지면 SDC로 본다. 학습 손실만 봐서는 SDC가 드러나지 않았다."},"components":[],"root_cause":"hardware-failure","remediation":[{"text":{"en":"Kept the nodes that failed the fleet's SDC tests out of production availability","ko":"운영 마진 스트레스 테스트에서 떨어진 노드를 운영 가용 풀에 넣지 않았다."}},{"text":{"en":"Sent the nodes held for the study for repair before returning them to the production pool","ko":"연구를 위해 잠시 붙잡아 둔 비정상 노드를 수리에 넘겨 운영 풀로 돌려보내기 시작했다."}}],"action_items":[],"contributing":["monitoring-blind-spot"],"recurrence_of":null,"symptoms_text":{"en":"Machine learning accelerator nodes that a cloud computing platform's automated fleet management had removed from production produced wrong computation results without any error signal. When the same LLM training ran on one of them and on a healthy node, the training loss was identical, but submodule outputs, gradients and model weights differed.\n\nSome of the nodes had been healthy at first and began to fail the fleet's pre-checks after they had been used in training. The fleet's tests can only run while a node is not in customer use, so a node that degrades during a multi-month training run can corrupt training before fleet management isolates it.\n\nThe corruption differed from node to node and over time. In the submodule comparison, Nodes 10 and 11 had high mismatch frequency (2.89e-2 of elements in the forward attention computation on Node 11 and 4.78e-3 on Node 10), Nodes 2 and 3 showed none in that setting, and on Node 9 the mismatch severity exceeded 100, so some values differed by large factors. On Nodes 7 and 14 mismatches came in occasional spikes with none during most of the training time, and Nodes 10 and 11 had a high peak in the first steps of the run.\n\nOver whole runs the effect accumulated. During pre-training the weights on the unhealthy nodes drifted away from the healthy node's while the loss curves stayed identical; on Node 13 there was no parameter difference until step 450, after which the weights quickly drifted. In fine-tuning Mistral-7B-v0.3 on CosmosQA, loss spikes appeared on some unhealthy nodes, and on Node 6 a spike near the end left the fine-tuned model with zero test accuracy on CosmosQA.","ko":"클라우드 플랫폼의 플릿 관리 테스트가 가속기 노드 15대를 SDC 때문에 운영에서 뺐다. SDC는 조용한 데이터 손상으로, 하드웨어가 아무 오류 신호 없이 틀린 계산 결과를 내는 고장이다. 이 노드들에서 학습해도 학습 손실은 대부분 정상 노드와 똑같이 나왔다.\n\n이 노드들 가운데 일부는 처음에는 정상이었고, 학습에 쓰인 뒤에 사전 점검에서 떨어지기 시작했다. 플릿 관리 테스트는 고객이 노드를 쓰지 않을 때만 돌릴 수 있어서, 몇 달씩 걸리는 LLM 학습 도중에 노드가 나빠지면 격리되기 전에 학습에 영향을 줄 수 있다.\n\n정상 노드와 똑같은 계산을 실행마다 결과가 같은 결정적 방식으로 시켜 비교하자 Transformer 하위 모듈의 출력이 어긋났다. 노드마다 양상이 달랐는데, Node 10과 Node 11은 불일치 빈도가 높았고 Node 2와 Node 3은 이 설정에서 SDC가 나타나지 않았다. Node 9에서는 불일치 정도가 100을 넘어, 일부 값이 크게 다른 결과가 나왔다.\n\nSDC는 학습 내내 고르게 나타나지 않았다. Node 7과 Node 14에서는 대부분의 시간 동안 불일치가 없다가 가끔 급등했고, Node 10과 Node 11에서는 학습을 시작하는 처음 몇 스텝에 불일치가 크게 몰렸다. Node 13은 450번째 스텝 전까지 매개변수 차이가 없다가 그 뒤 빠르게 벌어졌다.\n\n사전 학습에서 학습 손실은 정상 노드와 거의 같았지만, 비정상 노드의 모델 가중치는 정상 노드의 가중치에서 점점 멀어졌다. Mistral-7B-v0.3을 CosmosQA로 미세 조정할 때는 Node 4, Node 6, Node 7에서 손실이 크게 튀었고, Node 6에서는 미세 조정 끝 무렵에 손실이 튀어 최종 모델의 CosmosQA 테스트 정확도가 0이 되었다."},"updated_at":"2026-11-14T12:34:12.515288Z","url":"https://benchlet.com/incidentlib/app/cases/IL-0479","org_slug":"amazon-web-services"}