공지
주간 SaaS 의 발전을 위해 설문조사에 참여해 주세요!

SaaS SRE팀이 GPT를 활용하는 방법

GPT-4를 활용한 Post Incident Report 요약

2024.06.25 | 조회 1.13K |
0
|
from.
SaaS노동자
주간 SaaS의 프로필 이미지

주간 SaaS

B2B SaaS 비즈니스 모델과 멀티 테넌트 아키텍처 설계에 관한 좋은 콘텐츠를 소개합니다.

Created by 주간SaaS with DALLE
Created by 주간SaaS with DALLE

주간SaaS 오늘의 소개 글

안녕하세요.  SRE의 개념을 처음 소개 한 구글은 SRE 엔지니어가 업무에서 삽질(Toils)(수작업, 반복적인 일, 가치가 없는 일)줄이고, 보다 본질적인 가치를 만드는, 소프트웨어 엔지니어랑, 시스템 엔지니어링에 집중 할 수 있도록 하는 것이 근본적으로 시스템의 신뢰성 향상으로 이어진다고 말합니다. 오늘 소개하는 글은 Canva의 SRE 팀이 Post Incident Report 작성을 GPT-4를 활용해 자동화하여 SRE 업무의 생산성을 높이 사례를 소개 합니다. 작은 생산성 향상의 예로 볼수 있지만 이런 접근이 모여 궁극적인 시스템 신뢰성 향상의 밑거름이 된다고 생각 합니다.


Canva는 사용자들이 콘텐츠를 제작할 수 있도록 온라인으로 방대한 디자인 도구 라이브러리를 제공하는 온라인 그래픽 디자인 플랫폼입니다. Canva는 100개 이상의 언어로 150억 개 이상의 디자인을 보유하고 있으며 매달 1억 5천만 명 이상의 활성 사용자를 확보하고 있습니다.

Canva의 매끄러운 사용자 경험을 유지하려면 개발 단계에서 발생하는 사건을 추적하고 분석해야 합니다. Canva는 Confluence에 사후 인시던트 보고서(Post Incident Report, PIR)를 기록하고, 가독성과 레포트의 보고 효과 향상시키기 위해 간략한 요약을 함께 제공합니다. 이렇게 제공된 요약은 동료 엔지니어들이 관련 사건을 빠르게 파악하는 데 도움이 됩니다.

이전에는 SRE 엔지니어가 사건이 발생한 후 요약을 직접 작성했습니다. 그런데, 시간이 지남에 따라 검토자가 요약을 빠르고 효과적으로 검토하기 위해 더 많은 배경 이해가 필요하며 요약이 일관성이 없어지고 있음을 알게 느끼게 되었습니다. 그래서 현재 Canva는 GPT-4-Chat을 사용하여 PIR 요약을 자동 생성하여 데이터 품질을 향상시키고, 품질 높은 요약을 보장하며, 엔지니어의 업무량을 줄이고 있습니다.

작업 흐름

다음 다이어그램은 원본 PIR을 요약으로 변환하는 데 사용하는 작업 흐름을 보여줍니다.

출처: https://www.canva.dev/blog/engineering/summarise-post-incident-reviews-with-gpt4/
출처: https://www.canva.dev/blog/engineering/summarise-post-incident-reviews-with-gpt4/

Canva는 Confluence에서 보고서를 가져와 HTML을 파싱하여 PIR의 내용의 원본 텍스트를 추출합니다. 그런 다음 링크, 이메일, Slack 채널 이름 등의 민감한 데이터를 제거하여 내부 정보가 모델에 노출되지 않도록 하고 요약을 생성합니다. 그런 다음 보고서의 텍스트 버전을 GPT-4-Chat completion 으로 전송하여 요약을 생성합니다.

요약을 생성한 후 Canva는 데이터 웨어하우스에 보관하여 인시던트에 대한 포괄적인 기록과 보고 목적으로 추가적인 인시던트 관련 메타데이터를 더합니다. 또한 인시던트에 대한 Jira 티켓의 요약을 포함하여 수동 변경 사항이 Jira 웹훅을 사용하여 웨어하우스에 함께 기록됩니다. 이를 통해 AI가 생성한 요약 과 사람이 수정한 요약을 비교하여 데이터 품질을 모니터링할 수 있습니다.

GPT-4-Chat을 LLM으로 선택한 이유

이 글을 쓰는 시점에서 OpenAI 모델은 해석과 instruction 이해 측면에서 가장 높은 품질을 제공하는 가장 경쟁력 있는 옵션입니다. 따라서 Canva는 요약 작업에 GPT 모델을 사용하기로 결정했습니다. Canva에서 검토한 3가지 잠재적 모델은 다음과 같습니다.

  • GPT fine tune (davinci-002)
  • GPT completion (gpt-4-32k)
  • GPT chat (gpt-4-32k)

각 서비스는 보고서당 선형 비용이 발생하며, GPT-4가 1,000토큰당 $0.06로 가장 비쌉니다. 단일 PIR은 샘플 PIR과 예상되는 응답 형식을 GPT 모델에 알려주는 해당 요약과 함께 최대 10,000토큰을 포함할 수 있으므로 요약당 최대 예상 비용은 관리 가능한 $0.6입니다. 따라서 Canva는 각 서비스에 가장 강력한 모델을 선택했습니다.

미세 조정은 Canva가 제공하는 입력-출력 쌍을 사용하여 GPT 아키텍처를 기반으로 사용자 지정 모델을 훈련하는 것을 말합니다. Canva는 사용 가능한 훈련 데이터를 기존 PIR 및 해당 요약으로 제한하며, 이는 다양한 품질의 약 1,500개의 샘플 정도가 됩니다. 사실 이 양은 보고서에서 추출하려는 특정 세부 정보를 식별할 수 있는 미세 조정된 모델을 개발하기에는 부족하기 때문에 저희는 미세 조정 옵션은 사용을 포기했습니다.

미세 조정 방법으로 생성된 약 40개의 요약을 다른 두 가지 방법과 수동으로 비교한 결과, GPT completion 및 GPT Chat 모두 미세 조정된 모델보다 우수한 성능을 보였고, 다음과 같은 강점을 보였습니다.

  • 미세 조정된 모델이 자주 간과하는 세부 사항인 시작 및 종료 시간에서 영향 기간을 정확하게 결정함
  • 미세 조정된 모델이 종종 다른 요소를 분리하는 반면, 해결 방법이 원인과 어떻게 관련되는지 추론하는 등 다양한 사건 단계를 효과적으로 연관시킴
  • GPT-4는 미세 조정된 모델(davinci-002까지 지원)보다 더 뛰어난 성능을 보이며 GPT-3.5와 비슷한 수준의 능력을 갖추고 있지만, 여전히 일부 중요한 세부 사항을 놓칠 수 있다는 것을 의미함

Completion API는 단일 단락에 세부 정보를 요구하여 더 유연하지만 잠재적으로 일관성 없는 응답 형식을 생성하는 반면, chat API는 시스템 메시지를 사용하여 예상되는 요약 요소의 구조를 안내할 수 있습니다. 또한 PIR과 요약을 "user" 와 "assistant"로 레이블이 지정된 메시지로 나누면 GPT chat API가 의도된 형식을 이해하는 능력이 향상되어 더 일관된 요약 품질을 확보할 수 있습니다. 이러한 장점을 고려하여, Canva는 요약 생성을 위한 대규모 언어 모델(LLM)으로 GPT-4-Chat을 선택했습니다.

요약을 위한 프롬프트

Canva는 GPT-4 chat endpoint에 다음 프롬프트를 사용합니다. 이러한 프롬프트에서 PIR-new는 요약을 생성하려는 PIR을 나타냅니다. 프롬프트 구조는 다음과 같습니다.

"messages": [ { "role": "system", "content": "'summary prompt'" }, { "role": "user", "content": "'PIR1'" }, { "role": "assistant", "content": "'Summary 1'" }, { "role": "user", "content": "'PIR2'" }, { "role": "assistant", "content": "'Summary 2'" }, { "role": "user", "content": "'PIR-new'" } ]

요약 프롬프트는 다음과 같습니다.

You are an experienced Site Reliability Engineer understand different CS terms and their usage. Goals: Summarising reliability reports in a blameless manner, sentences within summaries should be coherent. Constrains: 1. The summary should be in a flexible format, with key components connected to each other. 2. Here are some key components desired in the summary if they are present in the original PIR: - Detection Methods: Manual vs Monitoring alert, with some more details - Impacted Groups - Affected Service - Duration - Root Cause - Trigger - Mitigation Method 3. Focus on the systemic issues and facts without attributing errors or oversights to individuals. 4. Do not introduce new information, only extract and distill the salient points from the report. 5. Do not give any suggestion. Just summary.

Canva는 GPT-4-Chat 모델을 사용하여 PIR을 요약하는 과정에서 프롬프트 디자인을 통해 효과적인 결과를 얻고 있습니다.

Canav가 사용하는 주요 프롬프트 디자인 전략:

  • 명확한 지시: 모델에게 제공된 정보를 벗어나지 않고 정확하게 따르도록 강조합니다.
  • 비난 없는 접근 방식: 모델이 개인을 비난하지 않도록 지시하여 객관적인 요약을 생성하도록 유도합니다. 실제로 (인시던트와 연관된)개인을 비난하는 내용이 포함된 PIR을 테스트한 결과, 모델은 비난 없는 입장을 유지하는 것으로 나타났습니다. 또한 채팅 API 엔드포인트와 상호 작용할 때 Temperature를 0으로 설정하여 인공적으로 생성된 콘텐츠가 포함되지 않도록 합니다.
  • 핵심 요소 명시: 요약에 포함되기를 바라는 핵심 요소들을 프롬프트 끝에 명시하여 모델이 필수적인 정보를 포함하도록 유도합니다.
  • 요약 길이 제한: API 요청 시 응답 길이를 직접 제한하는 대신, 프롬프트에서 모델에게 600자 제한을 목표로 하도록 요청합니다. 이를 통해 과도하게 긴 요약을 피하고 간결한 결과를 얻을 수 있습니다. 600자를 초과하는 요약은 GPT-4-Chat에 다시 제출하여 더욱 간결하게 만듭니다.
  • 다양한 샘플 제공: 두 세트의 PIR 샘플과 해당 요약을 제공하여 모델이 단일 요약의 구조를 맹목적으로 따라하지 않고 다양한 구조를 이해하도록 돕습니다.

결과 비교

Canva는 GPT-4가 생성한 원본 요약과 엔지니어가 수정한 버전을 문서화하여 비교 분석합니다. 약 2개월 동안 진행된 결과, 대부분의 AI 생성 요약은 엔지니어에 의해 수정되지 않은 채 그대로 유지되었다는 사실을 확인했습니다. 이는 엔지니어가 AI 출력을 만족스럽게 여기고 있으며, GPT-4가 PIR 검토 단계를 효율적으로 처리하는 데 도움이 된다는 것을 의미합니다. 또한 이 과정에서 보관 및 보고에 적합한 요약 모음을 얻을 수 있었습니다.

결론

Canva에서 PIR을 요약하기 위해 GPT-4-Chat을 구현한 결과, 프로세스의 효율성과 일관성이 크게 향상되었습니다. AI 모델은 안정성 엔지니어의 운영 부담을 줄이고 팀의 승인을 받은 더 높은 품질의 요약을 생성했으며, 대부분은 변경되지 않은 상태로 유지되었습니다. GPT-4-Chat을 사용하는 것은 비용 효율적이며 작업의 특정 요구 사항을 이해하고 준수할 수 있습니다. 이와 같이 AI 기술을 성공적으로 적용한 것은 다양한 비즈니스 운영 측면에서 운영 효율성과 품질을 향상시킬 수 있는 잠재력을 보여줍니다.

다가올 뉴스레터가 궁금하신가요?

지금 구독해서 새로운 레터를 받아보세요

✉️

이번 뉴스레터 어떠셨나요?

주간 SaaS 님에게 ☕️ 커피와 ✉️ 쪽지를 보내보세요!

댓글

의견을 남겨주세요

확인
의견이 있으신가요? 제일 먼저 댓글을 달아보세요 !

다른 뉴스레터

© 2024 주간 SaaS

B2B SaaS 비즈니스 모델과 멀티 테넌트 아키텍처 설계에 관한 좋은 콘텐츠를 소개합니다.

메일리 로고

자주 묻는 질문 서비스 소개서 오류 및 기능 관련 제보

서비스 이용 문의admin@team.maily.so

메일리 사업자 정보

메일리 (대표자: 이한결) | 사업자번호: 717-47-00705 | 서울 서초구 강남대로53길 8, 8층 11-7호

이용약관 | 개인정보처리방침 | 정기결제 이용약관 | 라이선스