મેં દસ નાના Solidity કોન્ટ્રાક્ટ્સ પર લોકલ મોડલ્સનું પરીક્ષણ કર્યું, જેમાં મેં નીચે મુજબની ભૂલો (bugs) ઉમેરી હતી:
- withdraw ફંક્શન્સમાં Reentrancy
- એક્સેસ મોડિફાયર્સનો અભાવ (Missing access modifiers)
- ERC4626 રાઉન્ડિંગ એરર્સ (rounding errors)
- ક્ષતિપૂર્ણ સિગ્નેચર ચેક્સ (Faulty signature checks)
- સૂક્ષ્મ લોજિકલ બગ્સ (Subtle logic bugs)
મેં WSL2 પર Ollama દ્વારા 7B (અથવા તેનાથી નાના) મોડલ્સ પર Qwen2.5-Coder અને DeepSeek-Coder ની સરખામણી કરી. જો તમે 33B મોડલ્સનો ઉપયોગ કરતા હોવ, તો આને અવગણો.
દરેક કોન્ટ્રાક્ટ માટે મેં ત્રણ પ્રોમ્પ્ટ્સ આપ્યા:
- એક સામાન્ય સુરક્ષા સમીક્ષા (general security review)
- reentrancy અને એક્સેસ કંટ્રોલ માટે લક્ષિત તપાસ (targeted check)
- ગંભીરતાના ટેગ્સ (severity tags) સાથેનો એક વ્યવસ્થિત રિપોર્ટ
ઇન્સ્ટ્રક્શન ફોલોઇંગ (Instruction Following)
અહીં Qwen 7B વિજેતા છે. તે લગભગ દરેક વખતે કડક ફોર્મેટિંગ નિયમોનું પાલન કરે છે. DeepSeek ઘણીવાર વધારાનું લખાણ ઉમેરે છે અથવા મર્યાદાઓને અવગણે છે. જ્યારે તમે મોડલના આઉટપુટને ઓટોમેટેડ પાઇપલાઇનમાં મોકલો છો, ત્યારે Qwen ની સુસંગતતા (consistency) મહત્વની છે—જો પાર્સિંગમાં નિષ્ફળતા આવે તો તે નકામું છે.
લક્ષિત તપાસ (Targeted Checks)
Qwen વિષય પર જ રહે છે. જો તમે તેને reentrancy વિશે પૂછશો, તો તે reentrancy વિશે જ જવાબ આપશે. DeepSeek ગેસ ઓપ્ટિમાઇઝેશન (gas optimization) અથવા સ્ટાઇલ નોટ્સમાં ભટકી જાય છે, જેનાથી વધારાનો અવાજ (noise) ઉમેરાય છે.
સમજાવવાની ગુણવત્તા (Explanation Quality)
Qwen એટેક સિક્વન્સને સ્પષ્ટ રીતે સમજાવે છે, જે દર્શાવે છે કે એક્સપ્લોઇટ (exploit) કેવી રીતે આગળ વધે છે. DeepSeek સામાન્ય પાઠ્યપુસ્તક જેવા જવાબો આપે છે. બંને સાચા છે, પરંતુ Qwen ની વિગતો રિપોર્ટ લખવામાં મદદરૂપ થાય છે.
શંકા અને હેલ્યુસિનેશન (Skepticism and Hallucination)
DeepSeek વધુ સમસ્યાઓ દર્શાવે છે, જે "શંકા જનરેટર" (suspicion generator) તરીકે કામ કરે છે. તે ક્લીન કોડમાં પણ સમસ્યાઓ શોધવાનો દાવો કરે છે.
તેનાથી વિપરીત, જ્યારે કોડમાં બગ હોય ત્યારે Qwen શાંત રહે છે. બીજી બાજુ, DeepSeek એવી ભૂલો હોવાનો દાવો કરે છે જે અસ્તિત્વમાં નથી.
ખોટી ચેતવણીથી મિનિટોનો સમય બગડે છે; પરંતુ ચૂકી ગયેલું બગ બધું જ ગુમાવી શકે છે. હું તપાસવા માટેની બાબતો શોધવા માટે DeepSeek પર આધાર રાખું છું, પરંતુ ઓટોમેશન માટે હું Qwen પર ભરોસો રાખું છું.
મારો અંતિમ નિર્ણય (My Final Verdict)
બ્રાન્ડ કરતા મોડલનું કદ વધુ મહત્વનું છે. 1.5B મોડલ મલ્ટી-સ્ટેપ બગ્સ વિશે તર્ક કરી શકતું નથી અથવા ફોર્મેટ જાળવી શકતું નથી.
7B પર, બંને મૂળભૂત ખામીઓને સંભાળે છે, છતાં જટિલ બિઝનેસ લોજિક માટે બંનેમાંથી એક પણ માનવ ઓડિટરનું સ્થાન લઈ શકતું નથી. તેમને ઓડિટર તરીકે નહીં, પણ ટ્રાયજ આસિસ્ટન્ટ (triage assistants) તરીકે ગણો.
મારું સેટઅપ:
- Qwen 7B: સ્ટ્રક્ચર્ડ રિવ્યુ અને પાઇપલાઇન્સ માટે ડિફોલ્ટ.
- DeepSeek: Qwen જે ચૂકી જાય તેને પકડવા માટે બીજી રાય (second opinion).
- Qwen 1.5B: માત્ર ઝડપી, ઓછા જોખમવાળું ફિલ્ટરિંગ.
તમારું હાર્ડવેર જે સૌથી મોટું મોડલ ચલાવી શકે તે ખરીદો. પછી બ્રાન્ડ વિશે ચિંતા કરજો.
તમે શંકાશીલ મોડલ પસંદ કરશો કે ચોકસાઈવાળું મોડલ?
Optional learning community: https://t.me/GyaanSetuAi
