एल्गोरिदम: चौड़ाई k (जैसे, k=5) का एक beam बनाए रखें। प्रत्येक चरण में, प्रत्येक उम्मीदवार को सभी संभव अगले टोकन से विस्तारित करें, परिणामी अनुक्रमों को स्कोर करें, और शीर्ष k को रखें। तब तक जारी रखें जब तक सभी उम्मीदवारों ने एक अंत टोकन उत्पन्न नहीं कर दिया या लंबाई सीमा तक नहीं पहुंच गए। उच्चतम-स्कोरिंग पूर्ण अनुक्रम लौटाएं। Beam चौड़ाई k गुणवत्ता बनाम compute का ट्रेड-ऑफ़ है: k=1 greedy decoding है, बड़ा k अधिक रास्तों का पता लगाता है लेकिन k गुना अधिक compute खर्च करता है।
कच्चा beam search छोटे अनुक्रमों का पक्ष लेता है (कम टोकन = कम संभाव्यता गुणन = उच्च कुल संभाव्यता)। एक लंबाई दंड (स्कोर को length^α से विभाजित करना) इस पूर्वाग्रह को प्रतिसंतुलित करता है, मॉडल को जल्दी काटने के बजाय पूर्ण, सुव्यवस्थित आउटपुट उत्पन्न करने के लिए प्रोत्साहित करता है। दंड कारक α एक हाइपरपैरामीटर है: α=0 कोई दंड नहीं है, α=1 लंबाई से पूरी तरह सामान्यीकृत करता है। विशिष्ट मान 0.6–1.0 हैं।
Beam search उन कार्यों के लिए सबसे अच्छा काम करता है जिनका एक "सही" उत्तर होता है (अनुवाद, सारांशीकरण, संरचित जनरेशन) जहां आप single सबसे संभावित आउटपुट चाहते हैं। यह रचनात्मक या संवादात्मक कार्यों के लिए खराब काम करता है जहां विविधता मायने रखती है — beam search सामान्य, दोहराव वाला टेक्स्ट उत्पन्न करता है क्योंकि उच्च-संभाव्यता अनुक्रम अक्सर उबाऊ होते हैं। आधुनिक LLM इंटरफ़ेस चैट के लिए sampling (temperature और top-p के साथ) का उपयोग करते हैं, और beam search मुख्य रूप से आंतरिक रूप से विशिष्ट कार्यों जैसे tool-call जनरेशन के लिए उपयोग किया जाता है।