Let's say Alice and Bob have a 2BTC channel together. Both have a balance of 1BTC. Can Alice withdraw part of her balance (say, 0.5BTC) from the channel?
As mentioned by Antoine, Alice and Bob could make a transaction to close the channel, Alice could use her payout to make the payment, and then Alice could use the change of that payment reopen the channel with a lower capacity. Note that unless they collaborate to use both Alice's and Bob's inputs, the new channel would also lack the Bob's prior balance. The same could also be achieved more efficiently by splicing out the payment. Alice and Bob would then collaborate to spend the funding output to create a transaction with two outputs where one is the payment Alice wants to make, and the other output is a new channel's funding output. This would save a transaction reducing the overall blockspace footprint and channel-downtime as well as result in a new channel with higher balance.
Another option would be for Alice to pay someone else on the Lightning Network to execute an onchain transaction for her. If e.g. Carol who has a channel with Bob were to offer this service, and Alice would send a ₿0.5 payment through Bob to Carol (plus maybe a fee), who would then make the expected onchain payment. By creative use of HTLCs, this payment could even be linked with the payment on LN so that the whole chain executes atomically. Instead of reducing the channel capacity, this would shift some of Bob's Lightning balance from his channel with Carol to his channel with Alice (and reduce Alice's balance, while increasing Carol's). This layer-traversing payment type is referred to as a "submarine swap".
If you mean decreasing the capacity of the channel to 1.5BTC in order to withdraw 0.5BTC onchain, it is possible in theory but not yet part of the Lightning Network protocol nor its implementations. That's called splice-out.
Of course, you can always do that today by closing the 2BTC channel and re-opening a 1.5BTC one.