- Canva ने 20 करोड़ MAU हासिल किए हैं, 30 अरब से अधिक designs मौजूद हैं, और हर सेकंड लगभग 300 नए designs बनते हैं
- ऐसे में users के लिए designs खोजना और उनके साथ shared files ढूंढना लगातार अधिक महत्वपूर्ण समस्या बन गया है
- public search (web/product search) में user queries और search items के एक fixed set के आधार पर dataset तैयार किया जाता है
- विशेषज्ञ समीक्षक हर query और item के relevance का मूल्यांकन करके labels देते हैं
- Recall और Precision metrics के जरिए search engine performance का आकलन किया जाता है
- personal search में privacy की सुरक्षा के लिए private designs नहीं देखे जा सकते, और user data को evaluation dataset के रूप में इस्तेमाल नहीं किया जा सकता
- समाधान के तौर पर generative AI (GPT-4o आदि) का उपयोग करके realistic लेकिन पूरी तरह synthetic content और queries तैयार की गईं
- इससे बिना privacy का कोई उल्लंघन किए search pipeline improvements का मूल्यांकन करने का तरीका मिला
मौजूदा स्थिति: सीमित testing methods
- मौजूदा test process
- engineers सीमित offline testing approach का उपयोग करते थे
- वे Canva account में known problem queries चलाकर code changes से पहले और बाद के performance की तुलना करते थे
- उदाहरण: spell correction सुधारते समय
desginजैसी गलत query को test करना- बदलाव से पहले: कोई result नहीं
- बदलाव के बाद:
designसे संबंधित documents लौटते हैं
- उदाहरण: spell correction सुधारते समय
- offline test पास करने वाले changes को online testing phase में भेजा जाता था
- Canva के experiment framework का उपयोग कर A/B test चलाए जाते थे
- change लागू हुए users और standard search users के बीच search success rate की तुलना की जाती थी
- सीमाएँ
- offline testing की statistical validity की कमी
- सीमित queries से search behavior की विविधता को represent करना मुश्किल था
- users पर संभावित नकारात्मक असर
- offline tests में न पकड़ी गई performance गिरावट online experiments में सामने आ सकती थी
- online experiments में समय की खपत
- statistical significance पाने के लिए कम से कम कुछ दिन से कुछ हफ्ते तक लगते थे
- इससे एक साथ चलने वाले experiments की संख्या और ideas test करने की रफ्तार सीमित हो जाती थी
- offline testing की statistical validity की कमी
आदर्श स्थिति: नया dataset और evaluation pipeline बनाना
- लक्ष्य: engineers को online testing तक जाने से पहले changes का objective मूल्यांकन करने के लिए custom dataset और evaluation pipeline चाहिए थी
- मुख्य आवश्यकताएँ:
- reproducibility: हर बार एक जैसे results मिलें
- तेज़ iteration: engineers code changes के बाद तुरंत results test कर सकें, production deployment का इंतजार न करना पड़े
- production-जैसा environment: results वास्तविक production behavior से मेल खाएँ
- non-blocking workflow: team members एक-दूसरे को बाधित किए बिना independently code changes पर experiment कर सकें
realistic dataset generation: generative AI का उपयोग
- privacy-compliant evaluation dataset
- GPT-4o का उपयोग करके ऐसा synthetic data तैयार किया गया जो वास्तविक user data की जगह ले सके
- user designs को copy किए बिना text length जैसी statistical distributions को reflect करने वाला realistic data बनाया गया
- Recall evaluation के लिए test cases बनाना
- topic और design type (documents, presentations आदि) के आधार पर GPT-4o से queries और corresponding content तैयार किया गया
- query difficulty को इस तरह बदला गया:
- spelling errors शामिल करना
- synonyms से replacement
- query को rephrase करना
- Precision evaluation के लिए test cases बनाना
- relevant और nonrelevant designs दोनों शामिल करने वाला dataset तैयार किया गया
- nonrelevant designs बनाने के तरीके:
- सिर्फ कुछ keywords शामिल करना
- design template या draft के रूप में बदलना
- उसे पुराना design बनाकर सेट करना
generative AI उपयोग करते समय आई समस्याएँ
- LLMs के फायदे और सीमाएँ
- फायदे: बड़े पैमाने पर text data को कुशलता से generate किया जा सकता है
- तैयार static evaluation dataset को बार-बार इस्तेमाल किया जा सकता है और यह जल्दी, consistent और deterministic evaluation results देता है
- सीमाओं को हटाना: dataset बनने के बाद LLM की latency और randomness की समस्या को अलग किया जा सकता है
- फायदे: बड़े पैमाने पर text data को कुशलता से generate किया जा सकता है
- समस्याएँ
- लंबे title generate करने से इनकार
- 12-15 शब्दों वाले titles माँगे गए, लेकिन model ने छोटे titles लौटाए
- उदाहरण:
Exploring the Latest Advancements in Screen Technology and Applications(9 words)Best Practices for Teachers: Presentation Tips for Meet the Teacher(10 words)
- उदाहरण:
- संभव है कि यह इस तथ्य को reflect करता हो कि वास्तविक documents में लंबे titles कम होते हैं
- नतीजतन, title length के मानदंड पर फिर से विचार करना पड़ा
- 12-15 शब्दों वाले titles माँगे गए, लेकिन model ने छोटे titles लौटाए
- repetition और hallucination errors
- किसी शब्द की कई spelling mistakes बनाने को कहने पर duplicate या unrealistic results लौटे
- उदाहरण:
Calendarकी अलग-अलग spelling mistakes माँगने पर repetitive results मिले
- उदाहरण:
- किसी शब्द की कई spelling mistakes बनाने को कहने पर duplicate या unrealistic results लौटे
- nonrelevant titles generate करने में समस्या
- nonrelevant design titles बनाते समय model कई बार instructions का सही पालन नहीं कर पाया
- लौटाए गए कुछ titles में दिए गए keywords नहीं थे, या वे सिर्फ
title stringजैसा गलत output दे रहे थे
- लंबे title generate करने से इनकार
evaluation चलाना: local environment में testing और analysis
- evaluation dataset का उपयोग
- तैयार synthetic dataset को search pipeline पर लागू करके evaluation metrics निकाले गए
- कई execution methods आज़माने के बाद Testcontainers आधारित local execution approach अपनाई गई
- Testcontainers आधारित local pipeline
- मौजूदा Testcontainer support का उपयोग
- Canva की service-oriented RPC architecture में Testcontainer support पहले से मौजूद था
- Elasticsearch जैसे external components को internal Testcontainers के साथ जोड़कर pipeline बनाई गई
- production setup का पूरा पुनर्निर्माण
- search pipeline और supporting ML models को local में चलाकर production जैसा ही environment तैयार किया गया
- engineers अलग-अलग model variants पर experiment कर सकते थे
- मौजूदा Testcontainer support का उपयोग
- test case processing flow
- हर test case के लिए जरूरी state बनाना
- Canva design बनाने के बजाय search index के लिए जरूरी data को extract और insert किया गया
- local search pipeline चलाना
- test query के साथ dataset चलाकर search results तैयार किए गए
- results को evaluation module में भेजना
- Recall और Precision metrics की गणना की गई
- data flow diagram
- evaluation tool के जरिए data कैसे flow करता है, यह दिखाने वाला diagram दिया गया
results को visualize करना
- visualization tool development
- Streamlit आधारित custom tool का उपयोग करके evaluation results को प्रभावी ढंग से visualize और compare करना संभव बनाया गया
- engineers अलग-अलग configurations के बीच Recall और Precision metrics को एक नज़र में compare कर सकते थे
- मुख्य features
- configuration-wise comparison
- results को aggregate करके अलग-अलग settings का performance side-by-side compare किया जा सकता था
- query type और difficulty के अनुसार performance breakdown
- खास query types या difficulty levels के आधार पर performance का अलग विश्लेषण किया जा सकता था
- individual query debugging
- हर query के output results देखकर specific use cases को बारीकी से debug किया जा सकता था
- configuration-wise comparison
- तेज़ decision-making में मदद
- evaluation पूरा होते ही tool तुरंत चल जाता था, जिससे engineers performance results के आधार पर जल्दी निर्णय ले सकें
- engineers दूसरे team members के काम पर निर्भर हुए बिना independently बार-बार experiment और improvement कर सकते थे
प्रभाव और आगे की योजना
- आदर्श स्थिति के कितने करीब पहुँचे?
- evaluation dataset और tools ने पूरी reproducibility दी और कुछ ही मिनटों में results तैयार किए
- engineers local में independently और objectively ऐसे results का मूल्यांकन कर सकते थे जो production behavior से मेल खाते हों
- customers के designs या queries को बिल्कुल देखे बिना privacy पूरी तरह सुरक्षित रही
- उपलब्धियों का सार
- तेज़ iteration
- 1000 से अधिक test cases को 10 मिनट से कम समय में process किया गया
- 2-3 दिन चलने वाले online experiment period में 300 से अधिक offline evaluations संभव हुए
- offline-online results का correlation
- offline evaluation को इस तरह design किया गया कि खराब ideas पहले ही हट जाएँ और केवल अधिक सफल होने की संभावना वाले changes ही online experiments तक जाएँ
- development के दौरान offline और online results के alignment को जाँचने के लिए कई experiments किए गए
- performance में सकारात्मक और नकारात्मक, दोनों तरह के changes के लिए मजबूत consistency देखी गई
- local debugging capability
- search pipeline के हर component से test case flow को observe करने वाली debugging support दी गई
- यह production logs पर निर्भर पुरानी debugging approach की तुलना में कहीं अधिक efficient था
- आगे की योजना
- dataset विस्तार
- collaboration graph जैसे और अधिक realistic features जोड़े जाएँगे
- tool improvements
- tooling को मजबूत किया जाएगा ताकि engineers जरूरत के अनुसार custom synthetic data बना सकें
- generative AI का अधिकतम उपयोग
- synthetic data से खुलने वाली संभावनाओं का उपयोग करते हुए Canva के search tools को community के लिए सर्वश्रेष्ठ अनुभव में बदलने का लक्ष्य जारी रहेगा
- dataset विस्तार
अभी कोई टिप्पणी नहीं है.