minimum order item for certain products exempting 2 other products (in bulk)

Try this one (replace $special_products = array( <id1>, <id2>, ... ); with your list of product IDs):

// Set a minimum number of products requirement before checking out
add_action( 'woocommerce_check_cart_items', 'spyr_set_min_num_products' );
function spyr_set_min_num_products() {
    // Only run in the Cart or Checkout pages
    if( is_cart() || is_checkout() ) {

        // List of "special" products IDs
        $special_products = array( <id1>, <id2>, ... );

        // Get an array of product IDs
        $products = array_column( WC()->cart->get_cart(), 'product_id' );
        if ( $products ) {
            foreach ( $products as $product ) {
                // Return immediately if a "special" product ID found
                // (therefore skipping product count check)
                if ( in_array( $product, $special_products ) ) return;
            }
        }

        // Set the minimum number of products before checking out
        $minimum_num_products = 12;
        // Get the Cart's total number of products
        $cart_num_products = WC()->cart->get_cart_contents_count();

        // Compare values and add an error is Cart's total number of products
        // happens to be less than the minimum required before checking out.
        // Will display a message along the lines of
        // A Minimum of 20 products is required before checking out. (Cont. below)
        // Current number of items in the cart: 6   
        if( $cart_num_products < $minimum_num_products ) {
            // Display our error message
            wc_add_notice( sprintf( '<strong>A Minimum of %s products is required before checking out.</strong>' 
                . '<br />Current number of items in the cart: %s.',
                $minimum_num_products,
                $cart_num_products ),
            'error' );
        }
    }
}

I replace $cart_num_products = WC()->cart->cart_contents_count; with $cart_num_products = WC()->cart->get_cart_contents_count(); because the first form is deprecated since WooCommerce 3.0. global $woocommerce; is also not needed anymore, nowadays any access to global $woocommerce object should be done via WC() function.