If you really must do this through WCF, you are probably going to need to do something like Chunking:
http://msdn.microsoft.com/en-us/library/aa717050.aspx[
^]
Another option would be to use a library like the NeatUpload project:
http://neatupload.codeplex.com/[
^]
Whatever you do, you are going to need to work through a lot of issues. Uploading 2 GB is tough on any server. You are going to need to worry about connection timeouts, buffer overflow, broken connections, etc. Part of the issue will be your IIS server as well, since there are limits there too.
This blog post might give you some other options as well:
http://nirajrules.wordpress.com/2009/08/03/mtom-vs-streaming-vs-compression-%E2%80%93-large-attachments-over-wcf/[
^]