ਮੈਂ ਦਸ ਛੋਟੇ Solidity ਕੰਟਰੈਕਟਾਂ 'ਤੇ ਲੋਕਲ ਮਾਡਲਾਂ ਦੀ ਜਾਂਚ ਕੀਤੀ, ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਮੈਂ ਅਜਿਹੇ ਬੱਗ (bugs) ਪਾਏ ਸਨ ਜਿਵੇਂ ਕਿ:
- withdraw ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ Reentrancy
- Missing access modifiers
- ERC4626 rounding errors
- ਗਲਤ signature ਚੈੱਕ
- ਬਾਰੀਕ ਲੌਜਿਕ ਬੱਗ (subtle logic bugs)
ਮੈਂ WSL2 'ਤੇ Ollama ਰਾਹੀਂ 7B ਮਾਡਲਾਂ (ਜਾਂ ਇਸ ਤੋਂ ਛੋਟੇ) 'ਤੇ Qwen2.5-Coder ਦੀ ਤੁਲਨਾ DeepSeek-Coder ਨਾਲ ਕੀਤੀ। ਜੇਕਰ ਤੁਸੀਂ 33B ਮਾਡਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ, ਤਾਂ ਇਸ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰੋ।
ਹਰੇਕ ਕੰਟਰੈਕਟ ਲਈ ਮੈਂ ਤਿੰਨ ਪ੍ਰੋਂਪਟ (prompts) ਦਿੱਤੇ:
- ਇੱਕ ਆਮ ਸੁਰੱਖਿਆ ਰਿਵਿਊ (general security review)
- reentrancy ਅਤੇ access control ਲਈ ਇੱਕ ਨਿਸ਼ਾਨਾ ਰੱਖਿਆ ਗਿਆ ਚੈੱਕ
- ਸੈਵੈਰਿਟੀ ਟੈਗਸ (severity tags) ਦੇ ਨਾਲ ਇੱਕ ਸੰਰਚਿਤ ਰਿਪੋਰਟ
Instruction Following
Qwen 7B ਇੱਥੇ ਜੇਤੂ ਹੈ। ਇਹ ਲਗਭਗ ਹਰ ਵਾਰ ਸਖ਼ਤ ਫਾਰਮੈਟਿੰਗ ਨਿਯਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ। DeepSeek ਅਕਸਰ ਵਾਧੂ ਟੈਕਸਟ ਜੋੜ ਦਿੰਦਾ ਹੈ ਜਾਂ ਸੀਮਾਵਾਂ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰ ਦਿੰਦਾ ਹੈ। ਜਦੋਂ ਤੁਸੀਂ ਮਾਡਲ ਦੇ ਆਉਟਪੁੱਟ ਨੂੰ ਇੱਕ ਆਟੋਮੇਟਿਡ ਪਾਈਪਲਾਈਨ ਵਿੱਚ ਪਾਉਂਦੇ ਹੋ, ਤਾਂ Qwen ਦੀ ਇਕਸਾਰਤਾ (consistency) ਮਾਇਨੇ ਰੱਖਦੀ ਹੈ—ਪਾਰਸਿੰਗ-ਫੇਲ ਹੋਣਾ ਬੇਕਾਰ ਹੈ।
Targeted Checks
Qwen ਵਿਸ਼ੇ 'ਤੇ ਟਿਕਿਆ ਰਹਿੰਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਇਸ ਨੂੰ reentrancy ਬਾਰੇ ਪੁੱਛਦੇ ਹੋ, ਤਾਂ ਇਹ reentrancy ਬਾਰੇ ਹੀ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। DeepSeek ਗੈਸ ਆਪਟੀਮਾਈਜ਼ੇਸ਼ਨ (gas optimization) ਜਾਂ ਸਟਾਈਲ ਨੋਟਸ ਵੱਲ ਭਟਕ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਫਾਲਤੂ ਜਾਣਕਾਰੀ (noise) ਵਧ ਜਾਂਦੀ ਹੈ।
Explanation Quality
Qwen ਹਮਲੇ ਦੇ ਕ੍ਰਮ (attack sequences) ਨੂੰ ਸਪੱਸ਼ਟ ਰੂਪ ਵਿੱਚ ਦੱਸਦਾ ਹੈ, ਇਹ ਦਿਖਾਉਂਦੇ ਹੋਏ ਕਿ ਐਕਸਪਲੋਇਟ (exploit) ਕਿਵੇਂ ਵਾਪਰਦਾ ਹੈ। DeepSeek ਆਮ ਪਾਠਕ੍ਰਮ (textbook) ਵਰਗੇ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। ਦੋਵੇਂ ਸਹੀ ਹਨ, ਪਰ Qwen ਦਾ ਵੇਰਵਾ ਰਿਪੋਰਟ ਲਿਖਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
Skepticism and Hallucination
DeepSeek ਵਧੇਰੇ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਫਲੈਗ ਕਰਦਾ ਹੈ, ਇੱਕ "ਸ਼ੱਕ ਪੈਦਾ ਕਰਨ ਵਾਲੇ" (suspicion generator) ਵਾਂਗ ਕੰਮ ਕਰਦਾ ਹੈ। ਇਹ ਸਾਫ਼ ਕੋਡ ਵਿੱਚ ਵੀ ਸਮੱਸਿਆਵਾਂ ਘੜ ਲੈਂਦਾ ਹੈ।
ਇਸਦੇ ਉਲਟ, Qwen ਉਦੋਂ ਚੁੱਪ ਹੋ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਕੋਡ ਵਿੱਚ ਬੱਗ ਹੁੰਦੇ ਹਨ। ਦੂਜੇ ਪਾਸੇ, DeepSeek ਅਜਿਹੇ ਬੱਗ ਦਾ ਦਾਅਵਾ ਕਰਦਾ ਹੈ ਜੋ ਮੌਜੂਦ ਹੀ ਨਹੀਂ ਹਨ।
ਇੱਕ ਗਲਤ ਅਲਾਰਮ ਕੁਝ ਮਿੰਟਾਂ ਦਾ ਨੁਕਸਾਨ ਕਰਦਾ ਹੈ; ਪਰ ਇੱਕ ਰਹਿ ਗਿਆ ਬੱਗ ਸਭ ਕੁਝ ਖਤਮ ਕਰ ਸਕਦਾ ਹੈ। ਮੈਂ ਜਾਂਚ ਕਰਨ ਲਈ ਚੀਜ਼ਾਂ ਲੱਭਣ ਲਈ DeepSeek 'ਤੇ ਭਰੋਸਾ ਕਰਦਾ ਹਾਂ, ਪਰ ਆਟੋਮੇਸ਼ਨ ਲਈ ਮੈਂ Qwen 'ਤੇ ਨਿਰਭਰ ਹਾਂ।
My Final Verdict
ਬ੍ਰਾਂਡ ਨਾਲੋਂ ਮਾਡਲ ਦਾ ਆਕਾਰ ਜ਼ਿਆਦਾ ਮਾਇਨੇ ਰੱਖਦਾ ਹੈ। ਇੱਕ 1.5B ਮਾਡਲ ਮਲਟੀ-ਸਟੈਪ ਬੱਗਾਂ ਬਾਰੇ ਸੋਚ ਨਹੀਂ ਸਕਦਾ ਜਾਂ ਫਾਰਮੈਟ ਨੂੰ ਬਰਕਰਾਰ ਨਹੀਂ ਰੱਖ ਸਕਦਾ।
7B 'ਤੇ, ਦੋਵੇਂ ਮੁੱਢਲੇ ਨੁਕਸਾਂ ਨੂੰ ਸੰਭਾਲ ਲੈਂਦੇ ਹਨ, ਫਿਰ ਵੀ ਕੋਈ ਵੀ ਗੁੰਝਲਦਾਰ ਬਿਜ਼ਨਸ ਲੌਜਿਕ ਲਈ ਮਨੁੱਖੀ ਆਡੀਟਰ ਦੀ ਜਗ੍ਹਾ ਨਹੀਂ ਲੈ ਸਕਦਾ। ਉਹਨਾਂ ਨੂੰ ਟ੍ਰਾਇਜ ਅਸਿਸਟੈਂਟ (triage assistants) ਵਜੋਂ ਸਮਝੋ, ਆਡੀਟਰਾਂ ਵਜੋਂ ਨਹੀਂ।
ਮੇਰਾ ਸੈੱਟਅੱਪ:
- Qwen 7B: ਸੰਰਚਿਤ ਰਿਵਿਊਜ਼ ਅਤੇ ਪਾਈਪਲਾਈਨਾਂ ਲਈ ਡਿਫੌਲਟ।
- DeepSeek: ਉਹਨਾਂ ਚੀਜ਼ਾਂ ਨੂੰ ਫੜਨ ਲਈ ਦੂਜੀ ਰਾਏ ਜੋ Qwen ਤੋਂ ਰਹਿ ਜਾਂਦੀਆਂ ਹਨ।
- Qwen 1.5B: ਸਿਰਫ਼ ਤੇਜ਼, ਘੱਟ ਜੋਖਮ ਵਾਲੀ ਫਿਲਟਰਿੰਗ ਲਈ।
ਉਹ ਸਭ ਤੋਂ ਵੱਡਾ ਮਾਡਲ ਖਰੀਦੋ ਜੋ ਤੁਹਾਡਾ ਹਾਰਡਵੇਅਰ ਚਲਾ ਸਕੇ। ਫਿਰ ਬ੍ਰਾਂਡ ਬਾਰੇ ਚਿੰਤਾ ਕਰੋ।
ਕੀ ਤੁਸੀਂ ਅਜਿਹੇ ਮਾਡਲ ਨੂੰ ਪਸੰਦ ਕਰਦੇ ਹੋ ਜੋ ਸ਼ੱਕੀ ਹੋਵੇ ਜਾਂ ਅਜਿਹੇ ਮਾਡਲ ਨੂੰ ਜੋ ਸਹੀ (precise) ਹੋਵੇ?
Optional learning community: https://t.me/GyaanSetuAi
