Community

아무도 알려주지 않는 LLM 제품 개발의 어려움

LLM에 관련된 제품을 개발할 때 어떤 어려움을 겪게 될까요? 상용 LLM을 사용해서 제품을 개발하고 있는 한 회사에서 공유한 글을 읽어 보고 정리해서 올립니다. 1️⃣ Prompt injection은 아직 해결되지 않은 문제다 Prompt Injection은 아주 쉽고 간단하게 설명하면 SQL Injection과 비슷한 문제다. SQL Injection에 비해 Prompt Injection은 아직 해결책이 없다. LLM을 데이터베이스 또는 프러덕트의 다른 구성 요소에 연결하면 제품(및 인프라)의 연결된 모든 부분이 즉시 Prompt Injection에 노출된다. 현재까지 좋은 해결책이 없어서 LLM 관련 제품을 개발할 때 최대한 유저 데이터를 건드리지 않는 것이 좋다. 예를 들어, 최근에 Prompt Injection 시도가 다양한 방법으로 나타나고 있으며, 시스템에서 중요한 고객의 정보를 빼내려고 시도하는 것을 당했다. 다행히 중요한 고객 데이터에 연결되지 않아 접근이 불가능해서 피해는 없었다. 2️⃣ 프롬프트 엔지니어링(Prompt Engineering)은 모범 사례가 아직 많지 않다 프롬프트 엔지니어링은 ML 모델이 특정 데이터 및/또는 예상 출력에 대해 학습하지 않고 모델이 유용한 작업을 수행할 수 있도록 한다. 정의만 들으면 유익한 프로세스지만 아직 프롬프트 엔지니어링 프로세스에는 시간이 많이 들고, 프롬프트의 효과를 평가할 수 있는 기준이 없다. 3️⃣ 정확성과 유용성이 상충할 수 있다 특히 인풋이 매우 모호할 경우, 프롬프트 + LLM 조합으로 모호한 인풋에 관련된 쿼리를 생성할 수 없다. 하지만 성공적인 제품 개발을 위해 모호한 인풋에 아예 아웃풋을 생성하지 않는 것보다는 무언가라도 생성하는 것이 좋다. 그러려면 프롬프트는 말도 안 되는 입력값에도 잘 작동해야 한다. 이를 실현하기 위해 다양한 테크닉을 사용해서 결과를 테스트 해봤는데, 한 가지 부분을 개선할 수 있으면, 다른 부분의 퀄리티가 떨어졌다. 결국 여러 가지 부분을 다 개선할 수 있는 특별한 테크닉을 찾지 못했다. 4️⃣ LLMs은 법적 문제를 신중히 다루어야 하고, 컴플라이언스를 준수해야 한다 ML 모델에 관련된 개인 정보 침해를 심각하게 생각하는 고객들이 있다. 따라서 모든 LLM 모델의 전체 보안 및 규정 준수 감사를 수행해야 한다. 충분한 시간을 두고 LLM 제품 개발을 하는 사람에겐 문제가 안 되지만, 타이트한 마감일 내에 제품을 론칭해야 하면 쉽지 않다. 처음 제품을 론칭할 때 법적 문제와 컴플라이언스는 다루지 않아도 된다고 생각하면 안 된다. 고객의 신뢰를 얻기 위해서는 꼭 해야 하는 작업이다. 5️⃣ LLMs은 아주 느리고 체이닝이 속도를 개선하지 않는다 GPT-3.5-turbo와 Claude와 같은 상용 LLM은 지금 우리에게 사용하기에 가장 좋은 모델이다. 그 말인즉슨, 이 두 가지가 시중에 나온 것 중 가장 좋은 모델이란 것이다. 문제는 가장 좋은 모델로 쿼리를 생성하는 데 2~15초 이상 걸릴 수 있다. 속도 문제를 해결하려고 구글에 검색해 보면 LongChain을 사용해서 LLM 모델의 체인을 통해 속도를 높이는 해결책을 찾게 된다. 하지만 LLM 모델을 체이닝하는 것이 오히려 LLM의 지연 시간을 더 악화할 수 있다. 🪴 함께 읽으면 좋은 글: 꼭 알아야 할 분산 시스템의 개념 영어 단어 https://careerly.co.kr/comments/82560 알아두면 좋은 LLM 관련 깃허브 리포지토리 https://careerly.co.kr/comments/82883 데이터베이스를 고를 때 고려해야 하는 요소 https://careerly.co.kr/comments/84381

알림

알림이 없습니다